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

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

Re: [shell-script] Script que leia linha por linha


From: Alexandre de Abreu
Subject: Re: [shell-script] Script que leia linha por linha
Date: Mon, 2 May 2005 16:44:42 -0300

Olá,

Seguem comentários...

>  while read LINHA ; do 
>  Comando
>  Comando
>  Comando
>  Done < arquivo
>  
>  Ou entao
>  
>  for LINHA in $(cat arquivo) ; do
>  Comando
>  Comando
>  Comando
>  done

O 1o exemplo(while) irá funcionar, mas, o 2o não. Adicione o comando
abaixo para alterar o valor da variável IFS(Internal Field Separator)
e assim irá rodar como esperado:

OLD="$IFS"; IFS=$'\n';
for LINHA in $(cat arquivo) ; do
  echo $LINHA
  Comando
  Comando
  Comando
done
IFS="$OLD"

O que ocorre é que por padrão o IFS é igual a: newline(\n), espaços ou
tabs. Logo, para lidar apenas com as linhas deve-se restringir o
separador de campos para \n.

Valeu

-- 
Alexandre de Abreu, GCUX, RHCE


reply via email to

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