Comm

Der Befehl in der Familie von Unix des Computers Betriebssysteme sind ein Dienstprogramm, das verwendet wird, um zwei Dateien für allgemeine und verschiedene Linien zu vergleichen. wird im POSIX Standard angegeben. Es ist auf Unix ähnlichen Betriebssystemen seit der Mitte zum Ende der 1980er Jahre weit verfügbar gewesen.

Gebrauch

liest zwei Dateien, wie eingegeben, betrachtet als Linien des Textes. Produktionen eine Datei, die drei Säulen enthält. Die ersten zwei Säulen enthalten Linien, die zur ersten und zweiten Datei beziehungsweise einzigartig sind. Die letzte Säule enthält für beide übliche Linien. Das ist funktionell dem ähnlich.

Säulen sind normalerweise mit bemerkenswert

Für die Leistungsfähigkeit nehmen Standarddurchführungen dessen an, dass beide Eingangsdateien sequenced in derselben Linienvergleichungsordnung, sortiert lexikalisch sind. Die Sorte (Unix) Befehl kann für diesen Zweck verwendet werden.

Der Algorithmus macht von der Sortierfolge des aktuellen Schauplatzes Gebrauch. Wenn die Linien in den Dateien in Übereinstimmung mit dem aktuellen Schauplatz nicht beide kollationiert werden, ist das Ergebnis unbestimmt.

Geben Sie Code zurück

Unterschiedlich hat der Rückcode davon keine logische Bedeutung bezüglich der Beziehung der zwei Dateien. Ein Rückcode 0 zeigt Erfolg an, ein Rückcode> 0 zeigt an, dass ein Fehler während der Verarbeitung vorgekommen ist.

Beispiel

Datei foo

Apfel

Banane

Eierfrucht

Dateibar

Apfel Banane Banane

Zucchini

comm foo Bar

Apfel

Banane

Banane

Eierfrucht

Zucchini

Das zeigt, dass beide Dateien eine Banane haben, aber nur Bar hat eine zweite Banane.

Ausführlicher hat die Produktionsdatei das Äußere, das folgt. Bemerken Sie, dass die Säule durch die Zahl von Hauptetikett-Charakteren interpretiert wird. \t vertritt einen Etikett-Charakter, und \n vertritt einen newline (Notation der c Sprache). Die gezeigten Räume sind nicht ein Teil der Produktionsdatei.

\t \t ein p p l e \n

\t \t b ein n ein n ein \n

\t b ein n ein n ein \n

e g g p l ein n t \n

\t z u c c h i n i \n

Vergleich zu diff

Allgemein, ist ein stärkeres Dienstprogramm als. Dem einfacheren wird am besten für den Gebrauch in Schriften angepasst.

Die primäre Unterscheidung dazwischen und ist dass Ausschuss-Information über die Ordnung der Linien vor dem Sortieren.

Ein geringer Unterschied dazwischen und ist das wird nicht versuchen anzuzeigen, dass sich eine Linie zwischen den zwei Dateien "geändert" hat; Linien werden entweder in "von der Datei #1", "von der Datei #2", oder "in beiden" Säulen gezeigt. Das kann nützlich sein, wenn man möchte, dass zwei Linien verschieden betrachtet werden, selbst wenn sie nur feine Unterschiede haben.

Andere Optionen

hat Optionen der Befehl-Linie, einige der drei Säulen zu unterdrücken. Das ist für scripting nützlich.

Es gibt auch eine Auswahl, eine Datei (aber nicht beide) vom Standardeingang zu lesen.

Grenzen

Bis zu einer vollen Linie muss von jeder Eingangsdatei während des Linienvergleichs gepuffert werden, bevor die folgende Produktionslinie geschrieben wird.

Einige Durchführungen lesen Linien mit der Funktion, die keine Linienlänge-Grenzen festsetzt, wenn Systemgedächtnis genügt.

Andere Durchführungen lesen Linien mit der Funktion. Diese Funktion verlangt einen festen Puffer. Für diese Durchführungen wird der Puffer häufig gemäß dem POSIX Makro nach Größen geordnet.

Siehe auch

  • Vergleich von Dateivergleich-Werkzeugen
  • Liste von Programmen von Unix
  • cmp (Unix) - Charakter hat Dateivergleich orientiert
  • Kürzung (Unix) - zerreißende Säule hat Dateien orientiert

Zelle (Geometrie) / Mario Ernesto Sánchez
Impressum & Datenschutz