BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Identische Zeilen zweier Dateien anzeigen

Mit Hilfe von comm lassen sich die identischen Zeilen zweier Dateien anzeigen. Dazu müssen beide Dateien sortiert sein:

# cat datei1 
1099
2001
3434
4002
# cat datei2 
3434
4002
7098
8567

Führt man nun comm mit den beiden Dateien aus, werden in der ersten Spalte alle Zeilen angezeigt, welche nur in der ersten Datei vorkommen, in der zweiten Spalte die der zweiten Datei und in der dritten Spalte jene Zeilen welche in beiden Dateien vorkommen:

# comm datei1 datei2 
1099
2001
		3434
		4002
	7098
	8567

Sollen nur die identischen Zeilen angezeigt werden, kann die Ausgabe der ersten beiden Zeilen durch die -1 und -2 Option verhindert werden:

# comm -12 datei1 datei2
3434
4002

Soll die Gross-/Kleinschreibung beim Vergleichen ignoriert werden, kann dies mit der -i Option gemacht werden:

#  cat datei1 
1099
2001
a3434
b4002
# cat datei2
A3434
B4002
7098
8567
# comm datei1 datei2
1099
2001
	A3434
	B4002
	7098
	8567
a3434
b4002
# comm -i datei1 datei2
1099
2001
		a3434
		b4002
	7098
	8567

Auf FreeBSD ist comm standardmässig im Basissystem vorhanden. Mehr Informationen zu comm findet man in der Manpage comm(1).

 Permalink