Come confrontare il contenuto di due directory usando bash?


1

Ho 2 directory che dovrebbero contenere gli stessi file e la stessa struttura di directory.

Penso che in una di queste directory manchi qualcosa.

Usando la shell bash c'è un modo per confrontare le mie directory e vedere se in uno dei file mancanti che sono presenti nell'altro?

tnx

Andrea

Risposte:


3

diff può passare da sola alle directory, invece di analizzare l'output di ls, find, o stat

diff -qr dir1 dir2 | sort

Riceverai output come il seguente:

Only in dir2: file3


0

Probabilmente il metodo più semplice è usare la sostituzione di comando con il diff comando:

diff <(cd dir1 && find | sort) <(cd dir2 && find | sort)

Questo mostrerà le differenze nella lista dei file, se in realtà vuoi confrontare se il file differisce in realtà, allora potresti preferire diff -brief -rb dir1 dir2

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.