LINUX.ORG.RU

Как максимально быстро проверить txt на дубли

 


1

2

Всем доброго времени суток! Есть 2 txt файла, нужно проверить строки на дубли первого файла во втором и сохранить результат в отдельном txt без дублей.

Интересует утилита которая бы максимально быстро справлялась с такой задачей так как размеры файлов по 20-50 гб

Сортировка результата не важна

Пример файлов:

1.txt:

  • qwerty
  • 12345
  • asdfgh
  • zxcvbn

2.txt:

  • asdfgh
  • zxcvbn

должен выйти результат: result.txt:

  • qwerty
  • 12345


Последнее исправление: Karpov680 (всего исправлений: 6)

sort file1 file2 | uniq -c или запуск в два этапа через промежуточный файл.

Насколько я помню, GNU sort умеет сортировать параллельно на нескольких процессорах и потом делать external mergesort в конце. Возможно, нужно будет с размером буфера поиграться, чтобы в /tmp часто IO не делать и побольше делать в RAM.

Либо руками M*N закодить. Сколько ОЗУ на машине?

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

И че?

Тебе главное отсортировать. А дальше можешь делить (по первым двум буквам) и куски сравнивать.

Если совсем плохо — то заливай в базу. Пусть субд сравнивает, она предназначена для работы с данными, которые не влезают в оперативку.

PS: сеошник?

soomrack ★★★★★
()
Последнее исправление: soomrack (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.