[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