comm(1) comm(1)
NAME
comm - Gleiche Zeilen in zwei sortierten Dateien suchen (common lines)
SYNTAX
comm [option] datei1 datei2
BESCHREIBUNG
comm vergleicht zwei Dateien, deren Zeilen nach der aktuell gültigen
Sortierreihenfolge sortiert sind. Zum Sortieren können Sie das Kom-
mando sort(1) verwenden.
OPTIONEN
Keine Option angegeben:
comm gibt drei Spalten aus, die folgende Bedeutung haben:
____________________________________________________________________
| Spalte 1 | Spalte 2 | Spalte 3 |
|____________________|_____________________|________________________|
| Zeilen, die nur in | Zeilen, die nur in | Zeilen, die in |
| datei1 stehen | datei2 stehen | beiden Dateien stehen |
|____________________|_____________________|________________________|
Für option sind folgende Angaben möglich:
-1 Spalte 1 wird nicht ausgegeben.
-2 Spalte 2 wird nicht ausgegeben.
-3 Spalte 3 wird nicht ausgegeben.
-12 comm gibt alle Zeilen aus, die beiden Dateien gemeinsam sind.
-23 comm gibt alle Zeilen aus, die nur in datei1 stehen.
-13 comm gibt alle Zeilen aus, die nur in datei2 stehen.
-123 comm gibt nichts aus.
-- Ende der Optionenliste. Die Angabe ist nötig, wenn datei1 mit -
beginnt.
datei1 datei2
Namen der beiden sortierten Dateien, die Sie vergleichen wollen.
Das Kommando comm arbeitet nur korrekt, wenn die beiden zu ver-
gleichenden Dateien sortiert vorliegen. Wenn Sie für einen der
beiden Namen den Bindestrich - eingeben, liest comm von der Stan-
dardeingabe.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
comm(1) comm(1)
INTERNATIONALE UMGEBUNG
Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
texte.
Die Umgebungsvariable LCCOLLATE beeinflußt die Sortierreihenfolge.
Wenn LCMESSAGES oder LCCOLLATE nicht oder als leere Zeichenkette
definiert ist, wird der Wert von LANG als Standardwert für die jeweils
nicht gesetzte oder leere Variable herangezogen. Ist auch LANG nicht
oder als leere Zeichenkette definiert, verhält sich das System so, als
wäre es nicht internationalisiert.
Hat eine der Variablen für die internationale Umgebung einen ungülti-
gen Wert, verhält sich das System so, als wäre keine Variable gesetzt.
Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
Bereich der Internationalisierung.
BEISPIELE
In der Datei buch sind Buchtitel und die dazugehörenden Autoren
erfaßt. In jeder Zeile steht ein Buchtitel und dahinter, durch ein
Leerzeichen getrennt, der jeweilige Autor. Sie möchten die Datei buch
nach mehreren Autoren durchsuchen, die Sie in der Datei autoren1
erfaßt haben. Die Dateien buch und autoren1 haben folgenden Inhalt:
buch autoren1
"MannausApulien" Stern Duras
"Wirsindnocheinmaldavongekommen" Wilder Goethe
"TodinVenedig" Mann Joyce
"Ulysses" Joyce Mann
Schiller
Wilder
Sie gehen in folgenden Schritten vor:
- Herausfiltern der Autoren aus buch mit awk.
- Sortieren der Autoren aus buch mit sort.
- Umlenken der Ausgabe von sort in die neue Datei autoren2.
- Vergleichen der beiden Dateien autoren1 und autoren2 mit comm -2.
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98
comm(1) comm(1)
$ awk '{printf"%s\n",$2}' buch | sort > autoren2
Die Datei autoren2 hat folgenden Inhalt:
Joyce
Mann
Stern
Wilder
$ comm -2 autoren1 autoren2
Duras
Goethe
Joyce
Mann
Schiller
Wilder
Ausgegeben werden in der ersten Spalte alle Autoren, die nur in
autoren1 stehen. Darauf folgt der Inhalt der dritten Spalte, das heißt
die Namen der Autoren, die in beiden Dateien stehen.
SIEHE AUCH
cmp(1), diff(1), sort(1), uniq(1).
Seite 3 Reliant UNIX 5.44 Gedruckt 11/98