Unterschied zwischen Ordnern

1

Wie kann ich 2 Ordner mit gleicher Struktur rekursiv vergleichen?
Mit diffoder git diffvon der bashKommandozeile?

Arseniy
quelle

Antworten:

3

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.

Mond Ritter
quelle
1

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 -qOption 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

sehe
quelle
+1 Das gefällt mir ... Aber ich liebe deinen Avatar!
MoonKnight
1
@ Killercam Cheers. Besuchen Sie eines Tages die Lounge <C ++>, wenn Sie eine
Gruppe
0

Verwenden Sie den folgenden Befehl:

diff -r folder1 folder2
Serge
quelle
0
diff -Nur directory1 directory2
kjohri
quelle
0

Einfach können Sie tun:

git diff --no-index FOLDER1 FOLDER2
HMagdy
quelle