Sie können das Werkzeug diff verwenden:siehe die Optionen -q und -r
-q --brief
Output only whether files differ.
-r --recursive
Recursively compare any subdirectories found.
Beispiel:
diff -qr dir1 dir2
Dafür habe ich einen einfachen Ansatz:Verwenden Sie den rsync-Vorschaumodus:
rsync -aHSvn --delete old_dir/ new-dir/
Die Dateien, die von diesem Befehl als "zu löschen" angezeigt werden, sind die "neuen" Dateien. Die anderen, die übertragen werden sollen, haben sich in irgendeiner Weise geändert. Siehe die rsync-man-page für weitere Details.
Der diffutils
Paket enthält einen lsdiff
Werkzeug. Übergeben Sie einfach die Ausgabe von diff -u
zu lsdiff:
diff -u --other-diff-options path1 path2 | lsdiff