Zwykle używam rsync
do tego zadania:
rsync -nav --delete DIR1/ DIR2
BĄDŹ BARDZO OSTROŻNY, aby zawsze używać opcji-n
aka--dry-run
, ponieważ spowoduje to synchronizację (zmianę zawartości) katalogów.
Spowoduje to porównanie plików na podstawie czasów i rozmiarów modyfikacji plików ... Myślę , że tego naprawdę chcesz, a przynajmniej nie masz nic przeciwko, jeśli to zrobi? Mam wrażenie, że po prostu chcesz, aby stało się to szybciej , a nie że musisz ignorować różnicę między zawartością pliku. Jeśli chcesz, aby nie wyświetlał różnych plików o identycznych nazwach, myślę, że dodanie tej --ignore-existing
opcji to zrobi.
Również należy pamiętać, że nie wstawiając /
na końcu DIR1
spowoduje to porównanie katalogu DIR1
z zawartością o DIR2
.
Dane wyjściowe są nieco szczegółowe, ale pokażą, które pliki / katalogi różnią się. Pliki / katalogi obecne w, DIR2
a nie w, DIR1
będą poprzedzone słowem deleting
.
W niektórych sytuacjach odpowiedź @ slartibartfast może być bardziej odpowiednia, chociaż musisz usunąć -type d
opcję, aby włączyć wyświetlanie plików spoza katalogu. rsync
będzie szybszy, jeśli masz znaczną liczbę plików / katalogów do porównania.