批量比较/差异HTML的工具

时间:2010-06-29 22:54:57

标签: diff batch-processing

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

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

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

3 个答案:

答案 0 :(得分:1)

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

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

在20,000个文件的范围内,我可以看到你想要一个工具的原因,我可以看到为什么你想要近乎未命中的匹配而不是完全匹配。

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

答案 1 :(得分:0)

我在windows中使用winmerge很多,从我可以看到一些人喜欢在linux中融合,所以也许这可以为你做的伎俩 http://meld.sourceforge.net/

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

(只能发布1个链接,所以将地址写成xxdiff和kdiff3作为文本)

答案 2 :(得分:0)

Beyond Compare是购买的软件,实际上是物有所值(我从未想过我会听到自己输入的那些!)。它基于GUI,但可以很好地处理数千个文件。它允许您使用正则表达式以及空格(行的开头,中间和结尾)指定不重要的更改。功能集非常广泛,请查看试用版下载。

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