Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Der Befehl uniq gibt sortierte Dateien ohne doppelte Zeilen aus. uniq wird häufig in Verbindung mit sort verwendet.
Das Programm ist im Paket
coreutils
von Ubuntu enthalten und deshalb auf jedem System vorinstalliert.
Die allgemeine Syntax lautet [1]:
uniq OPTION DATEI
uniq
kennt folgende Optionen:
Optionen von uniq | |
Option | Beschreibung |
-c oder --count | Ausgabe der Zeilen mit vorangestellter Nummer des Vorkommens der entsprechenden Zeilen |
-d oder --repeated | Nur Ausgabe doppelter Zeilen |
-f oder --skip-fields=N | Ignoriere die ersten N Felder beim Zeilenvergleich |
--help | Hilfe |
-i oder --ignore-case | Nur druckbare Zeichen berücksichtigen |
-s oder --skip-chars=N | Ignoriere die ersten N Zeichen beim Zeilenvergleich |
-u oder --unique | Nur Ausgabe nicht mehrfach vorkommender Zeilen |
-w oder --check-chars=N | Überprüfe nur die ersten N Zeichen pro Zeile |
Weitere Optionen sind der Manpage zu entnehmen.
uniq entdeckt doppelte Zeilen nur, wenn sie direkt aufeinander folgen. Dateien oder sonstige Eingaben müssen also vor der Verwendung sortiert werden.
In den folgenden Beispielen wird die Datei datei.txt verwendet:
cat datei.txt
Albert Hans Franz Frieda Berta Albert Otto Albert Frieda
Um eine Datei erst zu sortieren und dann mit uniq
die doppelten Zeilen zu löschen, empfiehlt sich die durch eine Pipe verknüpfte Verwendung von sort
und uniq
.
sort datei.txt | uniq
Albert Berta Franz Frieda Hans Otto
sort datei.txt | uniq -c
3 Albert 1 Berta 1 Franz 2 Frieda 1 Hans 1 Otto
Im folgenden Beispiel werden drei Dateien verknüft und sortiert. Anschließend werden die Doppel entfernt und wird das Ergebnis in die neue Datei datei.txt geschrieben.
cat datei1 datei2 datei3 | sort | uniq > datei.txt
Im folgenden Befehl werden die ersten drei Felder bei der Anwendung von uniq
auf die Datei log ignoriert. Das kann bspw. sinnvoll sein, wenn in Log-Dateien der Zeitstempel ignoriert werden soll.
sort log | uniq -f 3
Diese Revision wurde am 12. September 2012 20:02 von aasche erstellt.