gpt4 book ai didi

string - 如何在两个非常大的文件中找到共同的字符串?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:31:20 26 4
gpt4 key购买 nike

我有两个非常大的文件(而且它们都不适合内存)。 每个文件都有一个字符串(其中没有空格,长度为 99/100/101 个字符)在每一行。

更新:字符串未按任何排序顺序排列。
更新 2:我在 Windows 上使用 Java。

现在我想找出最好的方法找出两个文件中出现的所有字符串。

我一直在考虑使用外部合并排序对两个文件进行排序然后进行比较,但我不确定这是否是最好的方法。由于字符串的长度大致相同,我一直在想是否为每个字符串计算某种哈希值是个好主意,因为这应该使字符串之间的比较更容易,但这意味着我必须存储哈希值计算到目前为止我从文件中遇到的字符串,以便稍后在将它们与其他字符串进行比较时使用它们。我无法确定什么是最好的方法。我正在寻找您的建议。

当您提出解决方案时,还请说明如果必须找出所有文件和字符串中出现的 2 个以上的文件和字符串,该解决方案是否可行。

最佳答案

您还没有说明您正在使用什么平台,所以我假设您正在使用 Windows,但如果您使用的是 Unix 平台(这种情况不太可能发生),标准工具会为您完成。

sort file1 | uniq > output
sort file2 | uniq >> output
sort file3 | uniq >> output
...
sort output | uniq -d

关于string - 如何在两个非常大的文件中找到共同的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/658351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com