Come diff directory per file diversi, ma non riga per riga


16

Voglio vedere, ricorsivamente, file diversi in due directory. Diff può farlo, ma mi mostra le differenze riga per riga, che non voglio. C'è uno strumento che fa questo, o un modo per farlo con Diff (ho letto la pagina man, non ho visto nulla)?

Risposte:


29

Che dire

diff -rq DIR1 DIR2

o

diff -rqb DIR1 DIR2

-r è ricorsivo

-q è per breve, e ti dirà solo se i file sono diversi (cioè, non mostrerà le differenze riga per riga)

-b ignora gli spazi bianchi


1
-b ignora le modifiche agli spazi bianchi. Utilizzare -q o --brief per la breve opzione.
Doug Harris,

E ho appena votato questo. Ho appena provato la breve opzione per la prima volta. È un output molto bello - mostra non solo quali file sono diversi ma identifica quali file esistono in una directory e non nell'altra.
Doug Harris,

Grazie Doug; Immagino di aver inizialmente ruotato la mia opzione di 180 gradi. ;) Risolto ora.
ruba il

2

Stai cercando l' -qopzione:

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

1

Un modo per farlo è quello di farlo

diff dir1 dir1| grep "diff "

Farà comunque un confronto riga per riga, ma ogni confronto tra i file inizia con "diff dir1 / file dir2 / file", quindi il "diff" grepping mostrerà solo quelle righe (ovvero i file che sono diversi).


1

Se sei un utente emacs, controlla le directory ediff. Puoi vedere le differenze tra i file e quindi approfondire le differenze riga per riga se devi capire perché sono diverse.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.