LINUX.ORG.RU

Удалить уникальные строки из файла (или сохранить повторяющиеся)?

 ,


0

1

Доброго времени суток.
Есть файл со словами (неск. тысяч), по одному слову в строке. Есть информация, что некоторые слова (а соответственно строки) дублируются, возможно, даже несколько раз.
Нужно выделить и сохранить отдельно эти самые повторяющиеся слова.

Можно ли это как-то сделать с помощью sed, awk... ?
Спасибо.



Последнее исправление: sspphheerraa (всего исправлений: 1)
$ cat > words
aaa
bbb
aaa
ccc
ddd
ddd
$ q 'select c1, count(*) as cnt from words group by c1 having cnt > 1'
Warning: column count is one - did you provide the correct delimiter?
aaa 2
ddd 2
anonymous
()
Ответ на: комментарий от anonymous

А для вашего варианта у меня чего-то не хватает...

localhost $ cat > words
aaa
bbb
aaa
ccc
ddd
ddd
localhost $ q 'select c1, count(*) as cnt from words group by c1 having cnt > 1'
q: Unknown applet 'select c1, count(*) as cnt from words group by c1 having cnt > 1'
localhost $

sspphheerraa
() автор топика
Ответ на: комментарий от sspphheerraa

Только uniq для отбрасывания повторений должен принимать отсортированные данные (точнее, сами повторения должны идти друг за другом). Для этого сначала их надо отсортировать. Или сразу отсортировать с ключом -u, как предложил анонимус.

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

Это не мерзость, а очень полезная штука, хотя здесь и лишняя. Сам соорудил такое 12 лет назад на Python+SQLite, когда приходилось обрабатывать кучи данных в виде plaintext-таблиц.

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

Поэтому sort | uniq -c

Ну да, невнимательно прочитал верхний пост. Если интересуют именно повторяющиеся строки, то так. А ещё лучше sort | uniq -c | grep '^[ \t]*[2-9]'

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

Только uniq для отбрасывания повторений должен принимать


Мне наоборот повторения надо оставить, а отбросить уникальные строки.

sspphheerraa
() автор топика
Ответ на: комментарий от aureliano15

Если интересуют именно повторяющиеся строки, то так.

Чего люди не придумают, лишь бы ман не читать.

sort | uniq -d

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

Чего люди не придумают, лишь бы ман не читать.

Так чукча не читатель. :-)

uniq -d

Полезная опция. Спасибо, буду знать.

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