相关疑难解决方法(0)

如何删除大型多 GB 文本文件中的重复行?

我的问题类似于这个问题,但有几个不同的限制:

  • 我有一个很大的带\n分隔符的词表——每行一个词。文件大小从 2GB 到 10GB 不等。
  • 我需要删除任何重复的行。
  • 该过程可能会在删除重复项的过程中对列表进行排序,但这不是必需的。
  • 分区上有足够的空间来保存输出的新的唯一词表。

我已经尝试了这两种方法,但它们都因内存不足错误而失败。

sort -u wordlist.lst > wordlist_unique.lst
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)

我可以尝试哪些其他方法?

linux text-processing uniq

17
推荐指数
1
解决办法
1万
查看次数

标签 统计

linux ×1

text-processing ×1

uniq ×1