【问题标题】:Checking 2 Million Files for Duplicates检查 200 万个文件的重复项
【发布时间】:2012-06-22 20:44:48
【问题描述】:

我们需要检查 200 万个文件,看看它们是否有任何重复。

最好的方法是什么?

http://www.easyduplicatefinder.com/ 我们用这个工具做了大约 20k 个文件

但很快我们将不得不做 200 万个

关于如何以有效的方式做到这一点的任何想法?

萨斯

【问题讨论】:

  • 任何重复文件?或者任何重复的文件内容?例如,如果您有一个 CSV,看起来像:a、a、b、b、c、d、e、f(将有 4 个重复值)答案因您的意思而异
  • 为什么您链接的软件不适合您的需求?这不是一个复杂的问题,我想为它设计的任何软件都可以满足您的需求 - 除非它们限制您比较的文件数量或其他什么。

标签: php mysql filesystems duplicates checksum


【解决方案1】:

MD5SHA-1 中创建校验和(最好,因为发生冲突的可能性较小),或者甚至两者都创建(当发生冲突的可能性非常小时,您可以在知道自己没有犯错的情况下睡得很好)。

然后比较校验和。这将比较内容。如果您还想比较文件的名称,请在比较时将它们考虑在内。

就是这样。相当(非常)可靠。

【讨论】:

  • 您可以通过在发生哈希冲突的地方将文件内容作为二进制字符串进行比较来完全消除误报。
  • @rambocoder:你不知道它是否是误报,除非你做内容的比较,反正;)这个想法只是为了缩短过程。您可以使用另一种算法(如果尚未创建)准备哈希,而不是每次哈希匹配时比较内容,保存它们(以供将来使用)并进行比较。这样,您将以某种方式对其进行优化(仅在必要时生成额外的哈希)。但是当有很多大的重复项时比较整个内容是很麻烦的。
猜你喜欢
  • 2020-11-12
  • 2019-01-30
  • 2014-12-07
  • 1970-01-01
  • 2018-10-11
  • 2014-02-24
  • 1970-01-01
  • 2013-01-10
  • 1970-01-01
相关资源
最近更新 更多