LINUX.ORG.RU

поиск одинаковых строк


0

0
есть файлик со всякими фразками, приколами и афоризмами (одной строкой одна фраза). порядка 8 тысяч строк. В нем встречаются одинаковые. Вручную проблемотично искать эти дупликаты. Каким образом можно вырезать их оттуда?
★★★
Средствами bash? Хз.

А вообще алгоритм прост. Открываем файл, заносим первую строку в массив, каждую последующую строку сравниваем со всеми элементами массива, если не совпадает - добавляем в массив. После чего массив записываем в файл. Просто и понятно.

Igron ★★★★★
()
Ответ на: комментарий от annoynimous
только не тупо в лоб , а cat your_file | sort | uniq ну естественно это если порядок строк не важен, иначе придется что-нибудь на шелле/перле/etc ваять.
sasha999 ★★★★
()
С сохранением порядка строк.

cat text | awk '! a[$0] {a[$0]=1; print}'
sdio ★★★★★
()
Ответ на: комментарий от Igron
O(n^2)

лучше заносить не в массив, а в хеш-таблицу (как и написано в камменте на awk).

тогда только O(n*ln n)

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