shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] for dentro do for


From: Rafael Couto
Subject: Re: [shell-script] for dentro do for
Date: Mon, 14 Apr 2014 13:24:24 -0300

Desculpem a demora pelos agradecimentos pessoal...

Final de semana não vi meus mails.  :)

Fiz dessa forma:


executa="/tools/convert.sh"
num=0

for x in $(cat export.txt)
do
    while IFS=' ' read par1 par2 par3 par4 par5
    do
        $executa $x $par1 $par2 $par3 > $par5
        echo "linha $num processada"
        num=$(($num + 1))
    done < <(cat poolsb_out)
done

Mas deixei anotado num txt todas as dicas de vcs.
Obrigado pessoal..... Muito obrigado mesmo.


Em 11 de abril de 2014 18:27, Julio C. Neves <address@hidden> escreveu:
 

Fala Rafael!
pela qdt de emails que vc recebeu mandando usar o while, vc já deve ter percebido que o melhor mesmo é o while, mas tb dá para fazer com for. O problema é que a linha em que vc manda executar o convert.sh está toda errada. Vou fazer com for para vc ver:

for x in $(cat export.txt); do
     for y in $(cat poolsb_out); do
          z=$(convert.sh $x $y outputfile.txt)
          echo $z
          echo
     done
done

Fazendo desse jeito, estou supondo que convert.sh recebe 3 parâmetros. Se é para receber só $x e $y e dar a saída em outputfile.txt, ele deveria ser feito assim:

for x in $(cat export.txt); do
     for y in $(cat poolsb_out); do
          z=$(convert.sh $x $y)
          echo -e "$z\n" | tee -a outputfile.txt
     done
done


Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 26-30/05
Dou treinamento de shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.



Em 11 de abril de 2014 17:48, Rafael Couto <address@hidden> escreveu:
 

Consegui resolver uma parte, mas no segundo for, ele entende que os espaços são linhas e ferra com a minha saída.

for x in $(cat export.txt); do
     for y in $(cat poolsb_out); do
          z="convert.sh $x $y outputfile.txt > outputfile.txt"
          echo $z
          echo""
     done
done



Em 11 de abril de 2014 17:43, <address@hidden> escreveu:
 

Boa tarde senhores.


Preciso ler as linhas de um arquivo e para cada linha, ler um outro arquivo e executar cada uma de suas linhas, aí volto para a segunda linha do primeiro arquivo e faço o mesmo procedimento.
Tentei o comando abaixo, mas não tive sucesso.

$ for x in $(cat export.txt)

do

/tools/convert.sh $x < for y in $(cat poolsb_out ); do echo $y; done

done




--
[]'s Rafael





--
[]'s Rafael

reply via email to

[Prev in Thread] Current Thread [Next in Thread]