【发布时间】:2015-02-04 03:36:08
【问题描述】:
我有两个大文件,每个文件有 400、000、000 多行,大小超过 13GB,每行包含一个 md5 数字(32 字节)。我想得到两个文件之间的交集,也想得到它们的区别。我想知道是否有一种简单而快速的方法来做到这一点,比如使用 linux shell 命令。
【问题讨论】:
-
请澄清一下:1)一个md5数字可以在同一个文件中出现多次吗? 2) 这些 md5 数字是否已排序? 3)定义你所说的交叉点是什么意思?例如,如果两个文件都包含所有相同的数字但只是顺序不同,那么在您的交集/差异定义中,它们是否被视为相同?即您正在尝试查找两个文件中出现的数字,以及仅在其中一个文件中出现的数字(以及输出哪个文件)?
-
也许只有
diff <(sort file1) <(sort file2)就可以完成这项工作? -
感谢您的评论,1)每个 md5 数字在文件中只出现一次 2)数字已排序 3)交集表示公共数字,不考虑顺序