Empfohlen, 2024

Die Wahl des Herausgebers

Vergleichen Sie den Inhalt von zwei Verzeichnissen über die Befehlszeile

KOMMANDOZEILE - DIE 5 (WICHTIGSTEN) BEFEHLE IM TERMINAL (BASH) (MAC OS)

KOMMANDOZEILE - DIE 5 (WICHTIGSTEN) BEFEHLE IM TERMINAL (BASH) (MAC OS)
Anonim

Zum Vergleichen und Auflisten der verschiedenen Inhalte zweier Verzeichnisse ohne die zusätzliche Ausgabe, die Sie über Befehle wie diff erhalten, können Sie stattdessen den Befehl comm verwenden. Starten Sie zunächst Terminal, und geben Sie den folgenden Befehl ein. Passen Sie die Verzeichnispfade entsprechend an:

comm -3 <(ls -1 folder1) <(ls -1 folder2)

Als Ausgabe werden die Dateien aufgelistet, die in den einzelnen Ordnern unterschiedlich sind. Die Dateien für Ordner 1 werden nach links und die für Ordner 2 nach rechts ausgerichtet.

Um beispielsweise den Inhalt eines Ordners mit dem Namen "Pictures" und eines Ordners mit dem Namen "OldPictures" zu vergleichen, die beide im Download-Verzeichnis des Benutzers gespeichert sind, lautet die Syntax folgendermaßen:

comm -3 <(ls -1 ~/Downloads/Pictures) <(ls -1 ~/Downloads/OldPictures)

Die Ausgabe kann folgendermaßen aussehen:

$ comm -3 <(ls -1 ~/Downloads/Pictures) <(ls -1 ~/Downloads/OldPictures)
Folder-1-File.PNG
Folder-2-File copy.PNG
photo 1 copy.PNG
photo 3.PNG

Beachten Sie den Einzug, der anzeigt, welche Dateien für jeden Ordner eindeutig sind. Im obigen Beispiel sind die Dateien "photo 1 copy.PNG" und "photo 3.png" rechts ausgerichtet, daher sind sie nur im OldPictures-Verzeichnis und in den Ordnern "Folder-1-File.PNG" und "Folder-2-File" vorhanden. PNG-Dateien sind im ursprünglichen Ordner "Bilder" eindeutig.

Dies funktioniert unter Mac OS X sehr gut, aber es ist ein generischer Unix-Befehl, sodass Sie ihn auch unter Linux und anderen Varianten verwenden sollten. Wenn Sie auf Kompatibilitätsprobleme stoßen oder feststellen, dass dieser Befehl unnötig komplex ist, verwenden Sie diff, um dieselbe Funktion auszuführen.

Ein großartiger Trick, den @climagic auf Twitter gefunden hat. @Osxdaily ist auch da!

Top