Mit diesem folgenden Befehl sollte geprüft werden, ob sie identisch sind.
diff imageA imageB -r 2> /dev/null | grep -v "is a character special file" | grep -v "is a block special file" && echo "viola"
/ media / A und / media / B sollten identisch sein, ich möchte sie jedoch vor dem Löschen bestätigen.
Doppelte Dateisucher funktionieren nicht, da sie beispielsweise zwei Kopien derselben Datei in B finden. Ich möchte nur bestätigen, dass jede Datei in einer Datei identisch mit der anderen ist.
diff -qr /media/A/ /media/B/
scheint zu funktionieren, aber die Ausgabe ist mit Müll übersät
diff: / media / A // etc / alternatives / ControlPanel: Keine solche Datei oder Verzeichnis
und
Datei / media / A // dev / tty8 ist eine Zeichendatei, während Datei / media / B // dev / tty8 eine Zeichendatei ist
Ich kann das erstere mit unterdrücken 2> /dev/null
, aber ich weiß nicht über das Letztere Bescheid.
rsync -avn /media/A/ /media/B/
erzeugt auch eine Menge Unordnung wie "Überspringen nicht regulärer Dateien".
Wie kann ich die beiden Bäume vergleichen und sicherstellen, dass alle echten Dateien in beiden vorhanden sind und identisch sind?
Mit diesem folgenden Befehl sollte geprüft werden, ob sie identisch sind.
diff imageA imageB -r 2> /dev/null | grep -v "is a character special file" | grep -v "is a block special file" && echo "viola"
Schauen Sie sich Guiffy an. Es ist nicht kostenlos, hat aber eine kostenlose 21-Tage-Testversion, die die Funktionalität nicht einschränkt:
Vollständige (umfangreiche) Liste von Funktionen
Es behauptet, Folgendes zu tun, und scheint dem, was Sie suchen, sehr nahe zu sein, oder es könnte nahe genug sein, um es von dort aus zu nehmen:
Verwenden Sie rsync im Schreibmodus (mit -v
/ --verbose
und ohne -n
/ --dry-run
) und führen Sie es einige Male aus, bis sich der Ausgang stabilisiert. Führen Sie es als root aus, damit das Wiederherstellen nicht regulärer Dateien (impliziert durch -D und -a) funktioniert, wodurch das Durcheinander beseitigt werden sollte.