04.02.2017 14:26
OlegON
 
Собственно, задача миллион раз обыграная. Есть поток, в котором строки иногда дублируются. Нужно из двух дублей оставить только одну строку.

Понятно, что существует команда uniq, но она требует сортировки, а сортировать строки нельзя. Есть и sort -u, но опять же, упирается в сортировку.

Прежде чем я что-то на том же баше накидаю, может, велосипед уже есть?
04.02.2017 14:28
OlegON
 
Код:
echo -e 1234\\n1111\\n2345\\n1111\\n3456\\n1111 | uniq
надо, чтобы 1111 попадалось только единожды, а порядок не менялся
04.02.2017 14:34
OlegON
 
Решение
Код:
echo -e 1234\\n1111\\n2345\\n1111\\n3456\\n1111 | awk '!x[$0]++'
Часовой пояс GMT +3, время: 02:34.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.