Der comm
Der Befehl unter Linux ist ein leistungsstarkes, aber unterschätztes Dienstprogramm, das sich auf den zeilenweisen Vergleich zweier sortierter Dateien spezialisiert hat. Es ist darauf ausgelegt, drei Arten von Zeilen auszugeben: diejenigen, die nur für die erste Datei gelten, diejenigen, die nur für die zweite Datei gelten, und diejenigen, die beiden gemeinsam sind. Diese Funktionalität macht comm
ein unschätzbar wertvolles Werkzeug für verschiedene Aufgaben, wie z. B. die Identifizierung eindeutiger oder gemeinsamer Einträge in Datensätzen, die Vereinfachung der Datenanalyse und die Unterstützung bei der Dateiverwaltung.
Inhaltsverzeichnis
- Voraussetzungen
- Syntax und Optionen
- Zu den Optionen zum Anpassen der Ausgabe gehören:
- Grundlegende Verwendung
- Erweiterte Verwendung und Beispiele
- Tipps zur Fehlerbehebung
- Abschluss
Voraussetzungen
Bevor Sie die nutzen comm
Stellen Sie sicher, dass:
- Die zu vergleichenden Dateien werden sortiert. Wenn nicht, verwenden Sie die
sort
Befehl, sie vorher zu sortieren. - Die Sortierreihenfolge (Sortierungsreihenfolge) ist in beiden Dateien konsistent.
Syntax und Optionen
Die grundlegende Syntax der comm
Befehl ist:
comm (OPTION)... FILE1 FILE2
Die Standardausgabe besteht aus drei Spalten:
Zu den Optionen zum Anpassen der Ausgabe gehören:
Der comm
Der Befehl verfügt über mehrere Optionen, mit denen Sie sein Verhalten anpassen können:
-1
: Unterdrückt die erste Spalte (Zeilen, die nur für die erste Datei gelten).-2
: Unterdrückt die zweite Spalte (Zeilen, die nur für die zweite Datei gelten).-3
: Unterdrückt die dritte Spalte (Zeilen, die beiden Dateien gemeinsam sind).--check-order
: Überprüft, ob die Eingabe korrekt sortiert ist.--nocheck-order
: Überprüft nicht, ob die Eingaben sortiert sind oder nicht.--output-delimiter=STR
: Trennen Sie die Spalten mit der Zeichenfolge STR.--version
: Versionsinformationen ausgeben.
Wenn Sie beispielsweise die erste Spalte (Zeilen, die nur für die erste Datei gelten) unterdrücken möchten, können Sie Folgendes verwenden -1
Möglichkeit:
comm -1 file1.txt file2.txt
Dadurch werden zwei Spalten ausgegeben. Die erste Spalte enthält eindeutige Zeilen für file2.txt
und die zweite Spalte enthält Zeilen, die beiden Dateien gemeinsam sind.
Grundlegende Verwendung
So vergleichen Sie zwei sortierte Dateien ohne Optionen:
comm file1.txt file2.txt
Dieser Befehl zeigt wie oben beschrieben drei Spalten an.
Erweiterte Verwendung und Beispiele
Spalten unterdrücken
Um nur die gemeinsamen Zeilen zwischen zwei Dateien anzuzeigen, verwenden Sie:
comm -12 file1.txt file2.txt
Dadurch werden die ersten beiden Spalten unterdrückt und nur die dritte angezeigt.
Vergleich unsortierter Dateien
Für unsortierte Dateien kombinieren comm
mit sort
Prozesssubstitution verwenden:
comm -12 <(sort file1.txt) <(sort file2.txt)
Benutzerdefiniertes Ausgabetrennzeichen
Um die Lesbarkeit zu verbessern, geben Sie ein benutzerdefiniertes Trennzeichen an:
comm --output-delimiter=" | " file1.txt file2.txt
Tipps zur Fehlerbehebung
- Wenn
comm
meldet, dass Dateien nicht sortiert sind, überprüfen Sie die Sortierreihenfolge erneut. - Stellen Sie sicher, dass die Dateikodierung keinen Einfluss auf die Sortierung hat.
- Verwenden
LC_COLLATE=C sort file.txt
für konsistente Sortierung in verschiedenen Umgebungen. - Nähere Informationen zum
comm
Befehl können Sie die Manpage durchsuchen:
man comm
Abschluss
Der comm
Der Befehl ist ein Beweis für die Vielseitigkeit und Leistungsfähigkeit der Linux-Befehlszeilentools. Seine Fähigkeit, sortierte Dateien effizient zu vergleichen, macht es zu einem unverzichtbaren Dienstprogramm für die Datenanalyse, Systemverwaltung und mehr. Durch Beherrschen comm
können Benutzer ihre Arbeitsabläufe optimieren, Erkenntnisse aus Datensätzen gewinnen und komplexe Dateivergleiche problemlos durchführen. Dieser Artikel bietet einen kurzen, aber umfassenden Überblick über die comm
Befehl, zugeschnitten, um SEO-freundlich und für ein breites Publikum zugänglich zu sein. Für einen tieferen Einblick werden die Leser ermutigt, die zu erkunden comm
Lesen Sie die Manpage und experimentieren Sie mit dem Befehl, um seine Fähigkeiten und Anwendungen vollständig zu verstehen.