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

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

Re: [shell-script] pegando linha inteira com o for.


From: Flavio Junior
Subject: Re: [shell-script] pegando linha inteira com o for.
Date: Fri, 7 Mar 2008 12:30:56 -0300

Bom duas coisas ai Djan..

Quando voce definiu que o IFS é ;, voce disse pro for separar os campos por
ponto-virgula..
Ou seja:
[root@catatau:~]# cat arquivo
balh blah; tatu tatu
xyz ; nada nada
[root@catatau:~]# oIFS=$IFS
[root@catatau:~]# IFS=';'
[root@catatau:~]# for arq in $(cat arquivo); do  echo ARQ=$arq; done
ARQ=balh blah
ARQ= tatu tatu
xyz
ARQ= nada nada
[root@catatau:~]# IFS=$oIFS


Veja o que aconteceu, o nosso for separou os campos por cada ; e considerou
o segundo $ARQ como sendo: tatu tatu <nova linha> xyz ...


Outro detalhe importante: Na sua ideia vc trabalhou com a variavel $TMP, mas
veja:
# env | grep TMP
TMPDIR=/root/tmp
TMP=/root/tmp

No caso vc alterou o caminho do teu diretorio temporario, o que não é mto
legal...

Mas é isso ai, é pra isso que estamos ai ;)


--

Flávio do Carmo Junior
#bash-br @ irc.freenode.net - PARTICIPEM !!!!!!



2008/3/7 Djan Marques <address@hidden>:

>   Ola!
> E minha primeira tentativa de contribuir para grupo.
> Caso seja uma bola fora me perdoem.
>
> Vc de trocar o IFS
> Segue exemplo.
>
> TMP=$IFS
> IFS=';'
> for arq in $(cat arquivo)
> do
> echo $arq
> done
> IFS=$TMP
>
> ----- Mensagem original ----
> De: Lucas Mocellin <address@hidden <lucasmocellin%40gmail.com>>
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> Enviadas: Quinta-feira, 6 de Março de 2008 15:17:04
> Assunto: [shell-script] pegando linha inteira com o for.
>
> Olá,
>
> seguinte pessoal, tenho um arquivo que tem o seguinte conteúdo:
>
> cat arquivo
> 9948 /home/luizcelso/ Luiz Celso/LC - fotos luiz celso/Adriana 018.mpg
> 8568 /home/luizcelso/ Luiz Celso/fotos/ Logosofia - ingresso Ana C -
> 30-03-05/Adri 018.mpg
> 496 /home/luizcelso/ Luiz Celso/fotos/ Logosofia - ingresso Ana C -
> 30-03-05/Adri 019.mpg
>
> quando eu faço num for ele pega os nomes por espaço(
> i=9948,i=/home/ luizcelso/ Luiz,i=Celso/ LC,...) gostaria que o for
> pegasse uma
> linha inteira, como posso fazer?
>
> Obrigado,
>
> Lucas.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> armazenamento!
> http://br.mail.yahoo.com/
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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