Em 12/8/2010 18:12, Arkanon escreveu:
> Em 12 de agosto de 2010 17:07, Marcio Gil<[email protected]>  escreveu:
>
>   Acabou que fiz desta maneira:
>>
>> $ redund -n | grep -v "/\(.svn\|__\)\|NaoUsad[oa]\|Antig[oa]" | sort
>>> duplicados.txt
>> $ redund -i | grep -v "/\(.svn\|__\)\|NaoUsad[oa]\|Antig[oa]" | sort
>>> identicos.txt
>> $ grep -Fvf identicos.txt duplicados.txt>diferentes.txt
>>
>> Mas na hora de usar o laço 'while':
>>
>> $ while read f ; do vimdiff $f ; done<diferentes.txt
>> Vim: Warning: Input is not from a terminal
>> 2 files to edit
>> Vim: Error reading input, exiting...
>>
>> Vim: Finished.
>> shell returned 1
>>
> Tente isso:
>
> vim -s<(while read a b; do echo -e ":tabnew\n:e $a\n:difft\n:vnew\n:e
> $b\n:difft" ; done<  diferentes.txt)
>
> e navegue com :tabp e :tabn
>
Muito bom! sempre reclamei que o vim não me deixava fazer duas 
comparações ao mesmo tempo... agora eu sei que tem como :-)

Na primeira tentativa não deu certo porque me esqueci da quebra de linha 
do e-mail. Depois eu vi o meu erro. Porém ficou um pouco mais simples assim:

vim -s <(while read a b; do echo -e ":tabnew\n:e $a\n:vert diffsp $b" ; 
done <diferentes.txt)

Valeu pela dica.

Marcio Gil.

Responder a