doppelte Zeilen aus Datei entfernen

Datum: 2004-09-13
Quelle: suse-linux

Worum ging es?

Aus einer Datei sollen alle Zeilen gelöscht werden, die auch in einer Referenzdatei vorhanden sind.

Code
comm -13 ref_file file >temp_file && mv temp_file file
Beschreibung

Voraussetzung ist, dass die Dateien sortiert sind. Die Option -13 des comm unterdrückt die Ausgabe aller Zeilen, die nur in der 1. Datei ref_file oder in beiden Dateien vorhanden sind. Die Ausgabe beteht also aus den Zeilen, die nur in file stehen. Per Redirect wird die Ausgabe in eine temp. Datei geschrieben, die dann in die Originaldatei umbenannt wird.