首页 > 解决方案 > 如何从价值约 800gb 的文本文件中查找和删除重复的字符串?

问题描述

我有一个价值约 800gb 的文本文件数据集,总共有大约 50k 个 .txt 文件。

我想从这些文件中制作一个主 .txt 文件,并从所有 txt 文件中删除所有重复的行。

我找不到一种方法来做到这一点,我的电脑不会需要几个月的时间来处理,理想情况下我希望它保持不到一周。

标签: iobigdata

解决方案


sort -u <data.txt >clean.txt

您只需要一个大磁盘。

sort非常高效:它会自动将文件拆分为可管理的部分,分别对每个部分进行排序,然后将它们合并(可以在 O(N) 时间内完成);并且在合并时,它将丢弃被骗者(由于-u选项)。但是您至少需要输出文件的空间,加上所有中间文件的空间。


推荐阅读