Mit dem Programm comm können Dateien miteinander verglichen werden. Das Programm prüft, ob Zeilen in Datei1, in Datei2 oder in beiden vorhanden sind. Die Daten müssen hierfür bereits sortiert sein. Falls dies nicht der Fall ist, hilft wieder sort.
Hier ein einfaches Beispiel zu comm:
$ cat > file1
1
2
3
a
b
c
$ cat > file2
0
1
b
c
d
$ comm file1 file2
0
1
2
3
a
b
c
d
Die Ausgabe enthält 3 Spalten:
- Spalte 1: Zeilen, die nur in file1 sind
- Spalte 2: Zeilen, die nur in file2 sind
- Spalte 3: Zeilen, die in beiden Dateien vorhanden sind
Um die Ausgabe zu filtern, gibt es die Optionen -1 -2 und -3 um die jeweiligen Spalten bei der Ausgabe zu unterdrücken. Um z.B. nur die Spalte 3 auszugeben, muss -12 angegeben werden:
$ comm -12 file1 file2
1
b
c
Damit kann comm genutzt werden, um Schnittmengen oder Differenzmengen zu bilden.
Kommentare