Minha pergunta é semelhante a essa pergunta, mas com algumas restrições diferentes:
- Eu tenho uma grande lista de
\n
palavras delimitada - uma palavra por linha. O tamanho dos arquivos varia de 2 GB a 10 GB. - Preciso remover todas as linhas duplicadas.
- O processo pode classificar a lista durante o processo de remoção das duplicatas, mas não é obrigatório.
- Há espaço suficiente na partição para reter a nova lista de palavras exclusiva.
Eu tentei esses dois métodos, mas ambos falham com erros de falta de memória.
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)
Que outras abordagens posso tentar?
Ter um olhar para uma solução usando awk unix.stackexchange.com/a/30178/56820
—
ezdazuzena