Mehrfach vorhandene Zeilen einer Datei entfernen
In einer sortierten Textdatei lassen sich identische Zeilen entfernen oder zählen. Verwendet man uniq ohne Optionen, so werden alle mehrfach vorhandenen Zeilen entfernt:
# cat test AAA aaa aaa aaa bbb ccc ccc # uniq test AAA aaa bbb ccc
Mit der -c Option kann die Anzahl identischer Zeilen gezählt werden:
# uniq -c test 1 AAA 3 aaa 1 bbb 2 ccc
Soll die Gross-/Kleinschreibung ignoriert werden, kann die -i Option verwendet werden:
# uniq -ci test 4 AAA 1 bbb 2 ccc
Mit der -d Option werden nur mehrfach vorhandenen Zeilen angezeigt, mit der -u Option nur solche, die nur einmal vorhanden sind.
# uniq -d test aaa cc # uniq -u test AAA bbb
Auf FreeBSD und OpenBSD ist uniq im Basissystem vorhanden, allerdings kann die -i Option nur auf FreeBSD verwendet werden. Mehr Informationen zu uniq findet man in der Manpage uniq(1).
Comments
Aarno
@ 25.10.2008 14:16 UTC
Wenn die Datei noch nicht sortiert ist macht man naiverweise:
$ sort test | uniq
schneller gehts mit:
$ sort -u test
-Aarno
Wenn die Datei noch nicht sortiert ist macht man naiverweise:
$ sort test | uniq
schneller gehts mit:
$ sort -u test
-Aarno
No new comments allowed (anymore) on this post.