Wie kann ich 2 Ordner mit gleicher Struktur rekursiv vergleichen?
Mit diff
oder git diff
von der bash
Kommandozeile?
quelle
Wie kann ich 2 Ordner mit gleicher Struktur rekursiv vergleichen?
Mit diff
oder git diff
von der bash
Kommandozeile?
Zum Vergleichen von 2 Dateien verwenden wir den Befehl diff. Wie vergleichen wir 2 Verzeichnisse? Insbesondere möchten wir wissen, welche Dateien / Unterverzeichnisse gemeinsam sind, welche sich nur in einem Verzeichnis befinden, aber nicht in der anderen Verwendung
diff dir1 dir2
Wenn Sie nicht an Dateiunterschieden interessiert sind, verwenden Sie
diff -q dir1 dir2 |sort
diff ordnet seine Ausgabe alphabetisch nach dem Namen der Datei / des Unterverzeichnisses. Ich bevorzuge es, sie danach zu gruppieren, ob sie gemeinsam sind und ob sie nur im ersten oder zweiten Verzeichnis existieren. Deshalb habe ich im obigen Befehl die Ausgabe von diff durch sort geleitet.
Beachten Sie, dass diff standardmäßig nicht in die Unterverzeichnisse gelangt, um die Dateien und Unterverzeichnisse auf dieser Ebene zu vergleichen. Fügen Sie -r hinzu, um das Verhalten so zu ändern, dass Unterverzeichnisse rekursiv durchsucht werden.
diff -qr dir1 dir2 |sort
Ich hoffe das hilft.
Mein Favorit für einen kurzen Blick:
diff -Ewburq folder1/ folder2/
Listet Dateinamen auf (wobei alle Arten von Whitespace-Änderungen ignoriert werden).
Den ganzen Unterschied in einem netten Viewer sehen (die -q
Option entfernen )
diff -Ewbur folder1/ folder2/ | kompare -o -
Sie könnten wahrscheinlich andere (bessere?) Diff-Tools finden (meld, k3diff etc.?)
Wenn Sie möchten, können Sie mit -N neue Dateien in den Satz aufnehmen
Verwenden Sie den folgenden Befehl:
quelle
quelle
Einfach können Sie tun:
quelle