我的问题与此问题类似,但有两个不同的约束:
- 我有一个很大的
\n
定界词表-每行一个词。文件大小从2GB到最大10GB不等。 - 我需要删除所有重复的行。
- 该过程可以在删除重复项的过程中对列表进行排序,但不是必需的。
- 分区上有足够的空间来容纳输出的新的唯一单词列表。
我已经尝试了这两种方法,但是它们都因内存不足错误而失败。
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 2016年