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.