Em 11/8/2010 10:46, Arkanon escreveu:
> Em 11 de agosto de 2010 09:54, Marcio Gil<marciom...@bol.com.br>  escreveu:
>
>> IFS=$'\n'
>> for f in `<iguais.lst` ; do diff -q $f ; done
>
>
> Isso acontece pq voce assume q o IFS agora eh apenas a quebra de linha.
>
> Alem da sugestao do Julio, voce pode tentar:
>
> 1.
>
> OIFS=$IFS
> IFS=$'\n'
> for f in `<iguais.lst` ; do IFS=$OIFS && diff -q $f ; done
>
> que funciona pq qdo voce volta IFS ao valor original, o valor temporario
> (\n) ja foi usado por<.
>
Funciona assim. Obrigado.

Para ser sincero, eu havia pensado nesta solução assim que terminei de
escrever minha mensagem, mas resolvi enviar assim mesmo para saber
quais eram as outras maneiras ;-)

> 2.
>
> while read f; do diff -q $f ; done<iguais.lst
>
> que nao meche no IFS.
>

Nesta solução eu não teria pensado, muito boa.

Obrigado,

Marcio Gil.

Responder a