La mia domanda è simile a questa domanda ma con un paio di vincoli diversi:
- Ho un grande
\n
elenco di parole delimitate - una parola per riga. Le dimensioni dei file vanno da 2 GB a 10 GB. - Devo rimuovere eventuali righe duplicate.
- Il processo può ordinare l'elenco nel corso della rimozione dei duplicati ma non è necessario.
- C'è abbastanza spazio sulla partizione per contenere il nuovo elenco di parole univoco emesso.
Ho provato entrambi questi metodi ma entrambi falliscono con errori di memoria insufficiente.
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)
Quali altri approcci posso provare?