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 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.