Startseite > Textverarbeitung & Suche > comm

comm: Gemeinsame und einzigartige Zeilen zweier sortierter Dateien vergleichen

Der Befehl comm vergleicht den Inhalt zweier sortierter Dateien und gibt Zeilen, die nur in einer der Dateien vorkommen, sowie Zeilen, die in beiden Dateien gemeinsam sind, in drei Spalten aus. Er ist nützlich für das Zusammenführen oder Entfernen von Duplikaten.

Übersicht

comm ist eine Abkürzung für 'common' und ein Befehl, der speziell zum Vergleichen von Zeilen zwischen zwei bereits sortierten Dateien entwickelt wurde. Er vergleicht den Dateiinhalt parallel und zeigt die Ergebnisse in drei Spalten an. Die erste Spalte zeigt Zeilen, die nur in der ersten Datei vorkommen, die zweite Spalte Zeilen, die nur in der zweiten Datei vorkommen, und die dritte Spalte Zeilen, die in beiden Dateien gemeinsam sind. Dieser Befehl ist besonders leistungsstark, wenn es darum geht, sortierte Textdaten wie Datenbanklisten oder Benutzer-ID-Listen zu vergleichen.

Hauptmerkmale

Die Hauptmerkmale des comm-Befehls sind:

  • Wird zum Vergleichen von zwei sortierten Dateien verwendet. (Wenn die Dateien nicht sortiert sind, muss zuerst der Befehl `sort` verwendet werden.)
  • Gibt die Vergleichsergebnisse übersichtlich in drei Spalten aus.
  • Erleichtert das schnelle Erkennen von Gemeinsamkeiten und Unterschieden in Textdaten.
  • Bietet die Möglichkeit, Ausgabespalten selektiv auszublenden, was vielfältige Anwendungen ermöglicht.

comm vs. diff

comm und diff sind beides Dateivergleichstools, unterscheiden sich jedoch in ihrer Funktionsweise und ihrem Zweck.

  • comm: Spezialisiert auf sortierte Dateien, gibt gemeinsame und einzigartige Zeilen in drei Spalten aus. Erkennt keine Änderungen (Modifikationen des Zeileninhalts).
  • diff: Kann auch unsortierte Dateien vergleichen und gibt alle zeilenweisen Änderungen (Hinzufügungen, Löschungen, Modifikationen) detailliert aus.

Wichtige Optionen

Die Optionen des comm-Befehls werden hauptsächlich dazu verwendet, bestimmte Spalten auszublenden.

1) Steuerung der Ausgabespalten

2) Hilfe

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`comm` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Lernen Sie die Funktionen des comm-Befehls durch verschiedene Anwendungsbeispiele kennen.

Vergleich von gemeinsamen und einzigartigen Zeilen zweier Dateien

comm file1.txt file2.txt

Vergleicht den Inhalt zweier sortierter Dateien in drei Spalten.

Nur Zeilen ausgeben, die in beiden Dateien gemeinsam sind

comm -12 file1.txt file2.txt

Verwendet die Optionen `-1` und `-2`, um Zeilen auszublenden, die nur in der ersten oder zweiten Datei vorkommen, und gibt nur die gemeinsamen Zeilen aus.

Nur einzigartige Zeilen beider Dateien ausgeben

comm -3 file1.txt file2.txt

Verwendet die Option `-3`, um gemeinsame Zeilen auszublenden, und gibt nur die Zeilen aus, die in jeder Datei einzigartig sind.

Vergleich unsortierter Dateien

comm <(sort file1.txt) <(sort file2.txt)

Unsortierte Dateien können auch verglichen werden, indem der `sort`-Befehl über eine Pipe (`|`) an `comm` übergeben wird.

Installation

comm ist standardmäßig in den meisten Linux-Distributionen als Teil des `coreutils`-Pakets enthalten. Eine separate Installation ist nicht erforderlich.

Tipps & Hinweise

Hier sind wichtige Hinweise zur Verwendung des comm-Befehls zusammengefasst.

Tipps

  • Bevor Sie comm verwenden, **müssen Sie den Inhalt der Dateien sortieren.** Wenn die Dateien nicht sortiert sind, erhalten Sie keine korrekten Vergleichsergebnisse.
  • Um zu überprüfen, ob die Dateien sortiert sind, können Sie prüfen, ob die Ausgabe von `comm file1.txt file2.txt` von dem Erwarteten abweicht, oder die Dateien mit dem `sort`-Befehl sortieren und dann erneut vergleichen.
  • Die `<(...)`-Syntax ist eine Prozesssubstitution, die das Ergebnis des `sort`-Befehls als temporäre Datei an `comm` übergibt. Diese Methode ermöglicht es, auch unsortierte Dateien einfach zu vergleichen.

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.


Gleiche Kategorie Befehle