LINUX.ORG.RU

те, раз тебе важна позиция, нужно оставлять первое вхождение повторяющейся строки? или какое?

anonymous ()
$ echo -e 'aa\nbb\nnn\naa\ncc\nnn\naa' | awk '{if (!h[$0]) h[$0]=NR} END {for (k in h) {print h[k],k}}' | sort -k1n
1 aa
2 bb
3 nn
5 cc

$ echo -e 'aa\nbb\nnn\naa\ncc\nnn\naa' | awk '{if (!h[$0]) h[$0]=NR} END {for (k in h) {print h[k],k}}' | sort -k1n | cut -d' ' -f2-
aa
bb
nn
cc
sdio ★★★★★ ()
Ответ на: комментарий от ksevelyar

«Filter adjacent matching lines »

не годится!

без сортировки работать не будет.

ТС: видимо только awk/perl/sed -что ближе и понятней

и да, если файло большое - ОЗУ понадобится много ;)

mumpster ★★★★★ ()
Ответ на: комментарий от Makefile

man uniq

прувом поделитесь? (в контексте задачи)

по сабжу: eddie -mData.List unlines.nub.lines

anonymous ()
Ответ на: комментарий от sdio

Из awk one-liners:

[code=awk] # remove duplicate, nonconsecutive lines awk '! a[$0]++' # most concise script awk '!($0 in a) {a[$0];print}' # most efficient script [/code]

anonymous ()
Ответ на: комментарий от niXman

помни, что это только для max тысяч строк. а то озу отожрёт!:(

mumpster ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.