BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Inhalt zweier Dateien vergleichen

Möchte man wissen ob der Inhalt zweier Dateien identisch ist, so kann dazu cmp aus dem FreeBSD Basissystem verwendet werden. Sind die Dateien identisch, so wird vom cmp keine Ausgabe geschrieben. Stellt cmp einen Unterschied fest, so wird die Stelle des ersten Unteschiedes ausgegeben:

# cmp datei1 identischedatei
# cmp datei1 datei2
datei1 datei2: char 2025, line 54

Möchte man innerhalb eines Shellskriptes zwei Dateien vergleichen, so kann die -s Option verwendet werden. Nun wird auch bei einem Unterschied keine Ausgabe geschrieben. Der Rückgabewert von cmp bei identischen Dateien ist 0, stellt cmp einen Unterschied fest, so wird 1 zurückgegeben:

# cmp -s datei1 identischedatei
# echo $?
0
# cmp -s datei1 datei2 # echo $?
1

Mehr Informationen zu cmp findet man in der Manpage cmp(1).

 Permalink