[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] while não lê sem new_line
From: |
Denis S. Costa |
Subject: |
Re: [shell-script] while não lê sem new_line |
Date: |
Fri, 2 Oct 2009 17:04:50 -0700 (PDT) |
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://shellscript4all.blogspot.com
"A paz não brota em um jardim com câmera e sensores..."
--- Em seg, 21/9/09, Flavio Torres <address@hidden> escreveu:
De: Flavio Torres <address@hidden>
Assunto: Re: [shell-script] while não lê sem new_line
Para: address@hidden
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.maisbuscados.yahoo.com
[As partes desta mensagem que não continham texto foram removidas]
- Re: [shell-script] while não lê sem new_line,
Denis S. Costa <=
- Re: [shell-script] while não lê sem new_line, Denis S. Costa, 2009/10/03
- Re: [shell-script] while não lê sem new_line, Waldirio Manhães Pinheiro, 2009/10/03
- Re: [shell-script] while não lê sem new_line, Denis S. Costa, 2009/10/05
- Re: [shell-script] while não lê sem new_line, Flavio Torres, 2009/10/05
- Re: [shell-script] while não lê sem new_line, Julio C. Neves, 2009/10/05
- Re: [shell-script] while não lê sem new_line, Thomaz de Oliveira dos Reis, 2009/10/05
- Re: [shell-script] while não lê sem new_line, Tiago Peczenyj, 2009/10/05
- Re: [shell-script] while não lê sem new_line, Denis S. Costa, 2009/10/06
- Re: [shell-script] while não lê sem new_line, Julio C. Neves, 2009/10/06
- Re: [shell-script] while não lê sem new_line, Denis S. Costa, 2009/10/06