Мой вопрос похож на этот вопрос, но имеет несколько ограничений:
- У меня большой список
\n
слов с разделителями - по одному слову в строке. Размер файлов варьируется от 2 ГБ до 10 ГБ. - Мне нужно удалить любые дубликаты строк.
- Процесс может сортировать список в процессе удаления дубликатов, но не обязателен.
- В разделе достаточно места для хранения нового уникального выведенного списка слов.
Я попробовал оба этих метода, но они оба терпят неудачу с ошибками нехватки памяти.
sort -u wordlist.lst > wordlist_unique.lst
awk '!seen[$0]++' wordlist.lst > wordlist_unique.lst
awk: (FILENAME=wordlist.lst FNR=43601815) fatal: assoc_lookup: bucket-ahname_str: can't allocate 10 bytes of memory (Cannot allocate memory)
Какие еще подходы я могу попробовать?
Посмотрите на решение, используя awk unix.stackexchange.com/a/30178/56820
—
ezdazuzena