So verwenden Sie den Befehl comm in Linux

So verwenden Sie den Befehl comm in Linux
Der Comm -Befehl wird unter Linux verwendet, um verschiedene Dateien zu vergleichen. Dieser Befehl vergleicht jede Zeile der Dateien und zeigt die eindeutigen Zeilen und gemeinsamen Zeilen der Dateien in separaten Spalten an. Die Notwendigkeit eines Vergleichs von Dateien fällt hauptsächlich mit den Programmierern auf. Wenn sie die im Programm vorgenommenen Änderungen im Laufe der Zeit herausfinden müssen.

In dieser Beschreibung werden wir die Verwendung des Comm-Befehls unter Linux mit einer detaillierten Erklärung erläutern.

So verwenden Sie den Befehl comm in Linux

Der Comm -Befehl kann verwendet werden, um zwei Dateienzeile nach Zeile zu vergleichen, die allgemeine Syntax der Verwendung des Comm -Befehls:

$ comm [Option] Datei_Name1 Datei_Name2

Die obige Befehlssyntax zeigt das Ergebnis in drei Spalten an. In der ersten Spalte werden die eindeutigen Zeilen der Datei1 angezeigt, in der zweiten Spalte die eindeutigen Zeilen der Datei2 und in der dritten Spalte die gängigen Zeilen beider Dateien anzeigen.

Wir können auch einige Optionen zusammen mit dem Comm -Befehl verwenden. Einige häufig verwendete Optionen sind:

Optionen Erläuterung
-1 Es wird nicht die erste Spalte des Ergebniss angezeigt, die die eindeutigen Zeilen der Datei1 enthält
-2 Es wird nicht die zweite Spalte des Ergebniss angezeigt, die die eindeutigen Zeilen der Datei2 enthält
-3 Es wird nicht die dritte Spalte des Ergebnisses angezeigt, die die gemeinsamen Zeilen beider Dateien enthält. Datei1 und Datei2
-prüfe die Reihenfolge Es wird überprüft, ob alle Zeilen beider Dateien ordnungsgemäß sortiert sind oder nicht
-NOCHCECK-Bestellung Es wird die Sortierreihenfolge nicht überprüft und einfach die Ergebnisse anzeigen
-Hilfe Es wird eine Hilfemachmeldungsaufforderung angezeigt und wird beendet
-Ausführung Es wird die Version der Informationen und Ausgaben angezeigt
-gesamt Es wird die Gesamtzahl der in jeder Spalte des Ergebniss vorhandenen Zeilen angezeigt
-Z, -Zero -Delimiter Es wird die Dateien separat anstelle der Spalten angezeigt. Der Wert von Null -Grenzwerten ist null
-Ausgangsdelimiter = [ein beliebiges Zeichen] Es ersetzt die „Leerzeichen“ in den Ergebnissen, indem Sie den Zeichen verwenden, den Sie dort setzen möchten

Um all diese Optionen zu verstehen, werden wir zwei Textdateien mit dem Namen betrachten. MyTestFile1.txt und myTestFile2.TXT, dessen Inhalt mit den Befehlen angezeigt werden kann:

$ cat MyTestFile1.txt
$ cat myTestFile2.txt

Zunächst vergleichen wir beide Dateien mithilfe des Comm -Befehls ohne Optionen. Zu diesem Zweck müssen wir den Befehl verwenden:

$ comm myTestFile1.txt myTestFile2.txt

Wie wir wissen, gilt der Comm-Befehl für die sortierten Dateien, und die angegebenen Dateien im Befehl werden nicht sortiert, sodass er die Warnungen „Nicht sortierte Dateien“ generiert hat, um diese Kommentare zu entfernen. Wir werden die "-nocheck-Ordnung" verwenden. Flag, das ignoriert, wie die Sortierreihenfolge überprüft werden und die Ergebnisse angezeigt werden:

$ comm-Nocheck-Bestellung myTestFile1.txt myTestFile2.txt

Im obigen Bild haben wir drei Spalten markiert, um die Ergebnisse besser zu verstehen. In der ersten Spalte zeigte wir die eindeutigen Zeilen von myTestFile1.TXT, das nur "Fedora" ist, zeigte die zweite Spalte die eindeutigen Zeilen von myTestFile2.TXT, das nur "Debian" ist, und in der letzten Spalte zeigte die gemeinsamen Zeilen beider Dateien. Wenn wir Spalte 1 anzeigen möchten (einzigartige Zeilen von myTestFile1.TXT) und Spalte 3 (gemeinsame Zeilen beider Dateien) unterdrücken wir Spalte 2, indem wir das Flag „-2“ verwenden:

$ comm -2 -Nocheck -ordnungsbestellt myTestFile1.txt myTestFile2.txt

Ebenso können wir sowohl Spalte 1, Spalte 2 und nur Spalte 3 (mit den gemeinsamen Zeilen beider Dateien) unterdrücken, indem wir den Befehl ausführen:

$ comm -12 -Nocheck -ordnungsbestellt myTestFile1.txt myTestFile2.txt

Die Ausgabe zeigte nur die dritte Spalte des Ergebniss an, um die Gesamtzahl der Zeilen jeder Spalte zu ermitteln. Verwenden Sie den Befehl:

$ comm--total-nocheck-ordnen myTestFile1.txt myTestFile2.txt

Um zu überprüfen, ob die Sortierreihenfolge beider Dateien entweder in der richtigen Reihenfolge befindet oder nicht, führen Sie den Comm-Befehl mit dem Flag „-CHeck-Order“ aus:

$ comm-check-ordnen myTestFile1.txt myTestFile2.txt

Die Ergebnisse zeigen, dass die Datei 1 nicht in sortierter Reihenfolge ist, da die Namen der Dateien weder alphabetisch entweder in aufsteigender Reihenfolge noch in absteigender Reihenfolge angeordnet sind. In ähnlicher Weise wird das Flag „-Zero-Delimiter“ verwendet:

$ comm-Zero-terminiertes myTestFile1.txt myTestFile2.txt

Ebenso können wir den Befehl „-output-Delimiter = **“ mit dem Comm-Befehl verwenden, um den Speicherplatz durch „Stern (*)“ zu ersetzen:

$ comm-output-delimiter.txt myTestFile2.txt

So überprüfen Sie die Version des Comm -Befehls:

$ comm -Version

Wenn Sie mehr über den Comm -Befehl erfahren möchten, können Sie das Handbuch über den Befehl überprüfen:

$ MAN Comm

Abschluss

Der Comm -Befehl wird verwendet, um die Zeilen der sortierten Dateien unter Linux zu vergleichen. Es gibt jedoch auch einige andere Möglichkeiten, um Dateien wie den Diff -Befehl zu vergleichen und den VIM -Editor zu verwenden. Der Comm -Befehl ist einfach zu bedienen und empfohlen, wenn die Dateien Skripte enthalten und nur ein einfacherer Vergleich erforderlich ist. In diesem Artikel haben wir den Comm-Befehl und seine verschiedenen Optionen kurz mit Hilfe von Beispielen besprochen.