Como diferenciar diretórios para arquivos diferentes, mas não linha por linha

16

Eu quero ver, recursivamente, arquivos diferentes em dois diretórios. Diff pode fazer isso, mas me mostra as diferenças linha-a-linha, o que não quero. Existe uma ferramenta que faz isso, ou uma maneira de fazer isso com o Diff (eu li a página do manual, não vi nada)?

    
por user13743 09.10.2009 / 18:52

4 respostas

29

E sobre

diff -rq DIR1 DIR2

ou

diff -rqb DIR1 DIR2

-r é recursivo

-q é para breve, e apenas lhe dirá se os arquivos são diferentes (isto é, não mostrará as diferenças linha-a-linha)

-b ignora espaço em branco

    
por 09.10.2009 / 19:32
2

Você está procurando a opção -q :

dlamblin$ diff -r a b
diff -r a/a b/a
0a1,2
> 
> 
Only in b: b
dlamblin$ diff -qr a b
Files a/a and b/a differ
Only in b: b
    
por 09.10.2009 / 23:21
1

Uma maneira de fazer isso é fazer

diff dir1 dir1| grep "diff "

Ele ainda fará uma comparação linha por linha, mas cada comparação de arquivo começa com "diff dir1 / arquivo dir2 / file", então grepping "diff" mostrará apenas aquelas linhas (ou seja, os arquivos que são diferentes).

    
por 09.10.2009 / 19:01
1

Se você é um usuário do emacs, confira os diretórios do ediff. Você pode ver as diferenças entre os arquivos e, em seguida, detalhar as diferenças linha a linha, se precisar ver por que elas são diferentes.

    
por 09.10.2009 / 20:56