Vergleichen Sie zwei Verzeichnisse Inhalte auf einem Mac mit diff

Wenn Sie den Unterschied zwischen zwei Ordnern auf einem Mac sehen oder zwei Verzeichnisinhalte vergleichen möchten, können Sie dies einfach mit Hilfe des mächtigen diff-Befehls tun.

In diesem Lernprogramm erfahren Sie, wie Sie zwei Verzeichnisse und den Inhalt dieser Verzeichnisse mithilfe des Terminals vergleichen. Diese Befehlszeilenmethode gibt eine Datei mit den genauen Unterschieden zwischen zwei Zielordnern aus.

Um diesen Vergleich zu erreichen, verwenden wir das Befehlszeilentool 'diff', diff ist auf allen Macs verfügbar, zusammen mit Linux und anderen Unix-Betriebssystemen. Dies ist also eine plattformübergreifende Lösung für den Vergleich von Verzeichnissen. Diff ist sehr einfach zu verwenden, um den Inhalt von zwei Verzeichnissen leicht vergleichen zu können. Folgen Sie einfach der unten angegebenen Syntax.

Wie man Inhalt von zwei Verzeichnissen mit diff vergleicht

Starten Sie das Terminal unter Mac OS (in / Applications / Utilities /) und verwenden Sie dann die folgende Befehlssyntax:

diff -rq directory1 directory2

Drücken Sie die Eingabetaste, wenn Sie die entsprechenden zu vergleichenden Verzeichnisse angegeben haben. Dies führt den diff-Befehl aus, der Verzeichnis1 und Verzeichnis2 vergleicht (wenn Sie einen Ordner mit einem Leerzeichen im Dateinamen haben, setzen Sie ihn einfach in Anführungszeichen wie: "Ordner Eins"). Wir verwenden das -rq-Flag, weil -r bedeutet, dass es rekursiv ist, um Unterverzeichnisse einzubeziehen, und -q vereinfacht die Befehlsausgabe nur für die angezeigten Unterschiede.

Die Beispielausgabe des Befehls kann wie folgt aussehen:

$diff -rq directory1 directory2

Nur in directory1: example221.txt

Nur in directory1: SuperSecretDifferentFile.rtf

Nur in directory2: AmazingScript.py

Nur in directory2: MyFavoriteSong.mp3

Nur in directory2: MyFavoriteSpecialMovie.mp4

Sie können auch einen Schritt weiter gehen und die Ausgabe dieses Befehls in eine Datei umleiten, sagen wir, sie heißt differences.txt:

diff -rq directory1 directory2 >> differences.txt

Hier ist ein Beispiel und wie der Ausdruck aussehen wird. Angenommen, wir vergleichen die Ordner "Alte Musik" und "Neue Musik" und möchten, dass die Befehlsausgabe den Unterschied zwischen diesen beiden Verzeichnissen in der Datei "musicfolders.txt" anzeigt, dann wird die folgende Befehlssyntax verwendet:

diff -rq "old music" "new music" >> musicfolders.txt

Suchen Sie nun im aktuellen Arbeitsverzeichnis nach der Datei, die Sie gerade erstellt haben, indem Sie den Befehl diff ausgeben. In diesem Fall lautet die Datei musicfolders.txt und der Inhalt kann in einem beliebigen Texteditor, in einer Befehlszeile oder auf andere Weise angezeigt werden. Wenn Sie die Textdatei öffnen, sehen Sie Folgendes:

Only in old music: song1.mp3
Only in old music: song2.mp3
Only in old music: song3.mp3
Only in new music: instrumental1.mp3
Only in new music: instrumental1.mp3

Wenn Sie die Datei über die Befehlszeile anzeigen möchten, versuchen Sie Folgendes:

more musicfolders.txt

Ansonsten navigieren Sie einfach zum enthaltenen Verzeichnis und öffnen es in Ihrem bevorzugten Texteditor.

Wenn Sie keine Textdatei mit den Änderungen erstellen möchten, lassen Sie die Ausgabeumleitung des Befehls einfach weg. Vielleicht möchten Sie die Ausgabe in etwas wie "more" pipen, um das Scannen zu erleichtern:

diff -rq "old music" "new music" | more

Der Befehl diff ist ziemlich mächtig und es gibt viele andere Optionen, die mit ihm verfügbar sind. Verwenden Sie den Befehl man diff, um vollständige Details zur Verwendung von diff sowie den unzähligen verfügbaren Funktionen zu erhalten.

Es ist erwähnenswert, dass dieser Befehl unter Mac OS X - allen Versionen - sowie auf den meisten Unix-basierten Betriebssystemen funktioniert.