Good to Know Database

Doppelte Zeilen mit uniq entfernen


Das Kommandozeilentool uniq löscht alle aufeinanderfolgenden identischen Zeilen. Als Eingabe kann die Standardeingabe oder eine Textdatei dienen. Die Ausgabe erfolgt auf der Standardausgabe.

Zur Verdeutlichung der Funktionen wird hier eine Textdatei mit dem folgenden Inhalt verwendet.

[georg@centos5 ~]$ cat testfile.txt
grau
blau
blau
braun
rot
rot
grün

Wird uniq ohne Optionen aufgerufen, werden alle identischen aufeinanderfolgenden Zeilen nur einmal ausgegeben.

[georg@centos5 ~]$ uniq testfile.txt
grau
blau
braun
rot
grün

Durch die Option -c kann man sich die Anzahl der Vorkommen anzeigen lassen.

[georg@centos5 ~]$ uniq -c testfile.txt
      1 grau
      2 blau
      1 braun
      2 rot
      1 grün

Ein Aufruf mit der Option -u liefert nur Zeilen, welche nicht doppelt aufgetreten sind.

[georg@centos5 ~]$ uniq -u testfile.txt
grau
braun
grün

Die Option -d zeigt hingegen nur die doppelten Zeilen an.

[georg@centos5 ~]$ uniq -d testfile.txt
blau
rot

Mit der Option -w kann man festlegen, wie viele Zeichen pro Zeile zum Vergleich herangezogen werden sollen.

[georg@centos5 ~]$ uniq -w1 testfile.txt
grau
blau
rot
grün

Sollen zum Beispiel die ersten zwei Zeichen beim Vergleich ignoriert werden, kann man das mit der Option -s angeben.

[georg@centos5 ~]$ uniq -s2 testfile.txt
grau
braun
rot
grün


Dieser Eintrag wurde am 29.05.2010 erstellt.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_998.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer