Ola Denis Como vi algumas respostas contraditorias, segue:
waldi...@cerberos:~/cod> cat -vet texto.txt linha1$ linha2$ linha3waldi...@cerberos:~/cod> for b in $(cat texto.txt) ; do echo - $b; done - linha1 - linha2 - linha3 waldi...@cerberos:~/cod> Com o For funciona perfeitamente waldi...@cerberos:~/cod> cat -vet texto.txt linha1$ linha2$ linha3waldi...@cerberos:~/cod> while read line > do > echo - $line > done < texto.txt - linha1 - linha2 waldi...@cerberos:~/cod> Com o while realmente ele nao executa a linha que não tenha o \n ou o fim de linha. Ps. No for, em um de seus exemplos, o echo deveria ser no indice (no meu caso $b) e não no arquivo ... []'s Waldirio 2009/10/3 Denis S. Costa <[email protected]> > > > Me enganei o for tambem não funcionou... ele escreve uma string com quebra > de linhas e não linhas separadas. Assim: > > exemplo tosco: > cat $texto > oi1 > oi2 > oi17 > > for i in texto; do > echo "$texto" > echo "Thundercats" > done > > oi1 > > oi2 > > oi17 > Thundercats > > Quando eu queria isso > oi1 > Thundercats > > oi2 > Thundercats > > oi17 > > Thundercats > > Muito obrigado pela tentativa... > > Denis Silva Costa > Analista de Geoprocessamento > > http://shellscript4all.blogspot.com > > "A paz não brota em um jardim com câmera e sensores..." > > --- Em sex, 2/10/09, Denis S. Costa > <[email protected]<deniscostadsc%40yahoo.com.br>> > escreveu: > > De: Denis S. Costa <[email protected]<deniscostadsc%40yahoo.com.br> > > > Assunto: Re: [shell-script] while não lê sem new_line > Para: [email protected] <shell-script%40yahoogrupos.com.br> > Data: Sexta-feira, 2 de Outubro de 2009, 21:04 > > > > Bom desculpe a demora em responder... > > A solução com o for funciona perfeitamente! ! > > a com while não! porque ele faz um loop a mais e gera uma linha em branco e > como preciso processar as linha dá erro!! > > mas muito orbigado pela dica!!! > > Um grande abraço!!! > > Denis Silva Costa > > Analista de Geoprocessamento > > http://shellscript4 all.blogspot. com > > "A paz não brota em um jardim com câmera e sensores..." > > --- Em seg, 21/9/09, Flavio Torres <fla_tor...@yahoo. com.br> escreveu: > > De: Flavio Torres <fla_tor...@yahoo. com.br> > > Assunto: Re: [shell-script] while não lê sem new_line > > Para: shell-script@ yahoogrupos. com.br > > Data: Segunda-feira, 21 de Setembro de 2009, 22:16 > > > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > Denis S. Costa wrote: > > > desculpem a mensagem anterior sem assunto > > > > > > tenho um programa em shell com uma sintaxe parecida com essa: > > > > > > > > > > > > while read linha; do > > > > > > echo "$linha" > > > > > > echo "" > > > > > > done < texto.txt > > > > > > > > > > > > Bom, acontece que o texto que uso as vezes não tem quebra de linha na > > ultima linha: > > > > > > > > > > > > oi, tudo bem? \n > > > > > > tudo e com você? \n > > > > > > bem... > > > > > > > > > > > > (as duas primeiras linha tem uma quebra de linha e a ultima não!) > > > > > > > > > > > > essa linha sem quebra de linha não entra no loop! não lida pelo > > while!!! por que? > > > > > > > > Da uma lida na estrutura de loop aqui: > > http://asis. epfl.ch/GNU. SYS/bash- 1.14.7/features_ 1.html > > Posto aqui duas formas para resolver, deve ter algumas mais que o > > pessoal certamente irá postar. > > Usando a estrutura do for, o IFS diz que o delimitador (split) é nada, > > pode setar qualquer outra coisa diferente de espaço (faça o teste > > removendo o IFS que você notará a diferença). Se você tivesse um > > arquivo demilitado por ^, então poderia usar o IFS=^, isto faria o seu > > read valer os campos passados, ex: read nome sobrenome, sendo que o > > arquivo estaria assim: nome^sobrenome. > > - -- > > IFS="" > > for i in $(cat texto.txt);do > > echo $i > > done > > - -- > > usando o ultil > > - -- > > FLAG=false > > until $FLAG;do > > read || FLAG=true > > echo $REPLY > > done < texto.txt > > - -- > > Como pode ter visto na estrutura de loop, o ultil trabalhará assim: > > enquanto for falso, faça > > leia || (ou) se nao ler nada (read non zero) então recebe true para > > finalizar o loop > > imprime REPLY (variável default quando nao se define nada no while) > > end > > Um abraço > > - -- > > /*---------- --------- --------- --------- --------- -----*/ > > /* * Flavio Torres - Administrador de Sistemas*/ > > /* /_\ */int y,z;main(x){ x=(x>0?-9: x);z=((z= (x+5) > > /* o. .o */)>0?z:-z); printf(!x& &++y?"\n" :z?z>y%3+ y/ > > /* ((Y)) */3?" ":x<-5?"/":" \\":y?"|" :"*");y-9? main( > > /* ()) (() */++x):puts( " _|_|_")&&puts( " \\___/");} > > /* ()^() A party animal isn't just for Christmas.*/ > > - ------------ --------- --------- ------ > > - ------------ --------- --------- --------- --------- --------- - > > Esta lista não admite a abordagem de outras liguagens de programação, > > como perl, C etc. Quem insistir em não seguir esta regra será moderado > > sem prévio aviso. > > - ------------ --------- --------- --------- --------- --------- - > > Sair da lista: shell-script- unsubscribe@ yahoogrupos. com.br > > - ------------ --------- --------- --------- --------- --------- - > > Esta lista é moderada de acordo com o previsto em > > http://www.listas- discussao. cjb.net > > - ------------ --------- --------- --------- --------- --------- - > > Servidor Newsgroup da lista: news.gmane.org > > Grupo: gmane.org.user- groups.programmi ng.shell. brazil > > Links do Yahoo! Grupos > > -----BEGIN PGP SIGNATURE--- -- > > Version: GnuPG v1.4.8 (MingW32) > > iEYEARECAAYFAkq4JWc ACgkQNRQApncg297 RBwCdGiV+ UQ+dmhfPzjWSg2Tb Z5Ya > > 6UQAn0yRXy50Efx9tWI TSTnMUxvZAeBv > > =3i2v > > -----END PGP SIGNATURE--- -- > > > > > > > > > > > > > > > > ____________ _________ _________ _________ _________ _________ _ > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > http://br.maisbusca dos.yahoo. com > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > __________________________________________________________ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com > > [As partes desta mensagem que não continham texto foram removidas] > > > -- ______________ Atenciosamente Waldirio msn: [email protected] Site: www.waldirio.com.br Blog: blog.waldirio.com.br PGP: www.waldirio.com.br/public.html [As partes desta mensagem que não continham texto foram removidas]
