4

我有很多从服务器上抓取的 HTML 文件(价值 10,000 和 GB),我想检查以确保服务器在进行一些修改后产生相同的结果,但忽略一些无关紧要的差异,例如空格,缺少换行符、时间戳、某些数字的微小变化等。

有谁知道这样做的工具?我真的宁愿不做更多的过滤。

(哦,它需要在linux下运行)

4

3 回答 3

1

您可以考虑使用克隆检测器,例如我们的CloneDR。该工具解析大量计算机程序(HTML 是特例)文件,构建表示每个文件基本结构的抽象语法树,并比较程序的相似性。因为它是比较基本的程序结构,所以它忽略了注释和空格等无关紧要的差异,并确定两个代码段要么相同,要么可以通过替换其他代码块从另一个获得。后者允许识别已以各种方式修改的代码。您可以在网站上查看以各种计算机语言运行的克隆检测示例。

在您的情况下,您要查找的是系统 A 中的文件,这些文件本质上是系统 B 中文件的克隆(完全或未命中)。作为一般规则,如果文件a是文件b的变体(例如,一些更改)CloneDr 会将其报告为克隆并显示确切的差异。

在 20,000 个文件的规模上,我可以理解您为什么需要一个工具,并且我可以理解为什么您需要近距离匹配而不是精确匹配。

不在 Linux 下运行,但我认为你的问题很难解决,所以这不是你要优化的。

于 2010-06-30T01:27:44.990 回答
0

我在 windows 中使用了很多 winmerge,从我可以看到有些人喜欢在 linux 中融合,所以也许这可以为你解决问题 http://meld.sourceforge.net/

我通过快速谷歌搜索看到的其他示例是 Kompare、xxdiff.sourceforge.net 和 kdiff3.sourceforge.net

(只能发布 1 个链接,因此将地址写入 xxdiff 和 kdiff3 作为文本)

于 2010-06-29T23:05:48.393 回答
0

Beyond Compare是购买的真正物有所值的软件(我从没想过我会听到自己在打字!)。它是基于 GUI 的,但可以很好地处理数千个文件。它将允许您使用正则表达式以及空格(行首、中间和行尾)指定不重要的更改。该功能集非常广泛,请查看试用下载。

我不为这家公司工作,我只是每天在工作中使用Beyond Compare,每次都享受它!

于 2010-06-29T23:21:05.250 回答