diff - 批量比较/区分 HTML 的工具

标签 diff batch-processing

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

有人知道有一个工具可以做到这一点吗?我真的不想做不必要的过滤。

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

最佳答案

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

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

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

不能在 Linux 下运行,但我认为您的问题很难解决,因此这不是您要优化的内容。

关于diff - 批量比较/区分 HTML 的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3145373/

相关文章:

java - 如何在某些自定义 Junit 中执行 "svn diff"作为 Teamcity 构建的一部分

node.js - 使用批处理文件一次运行多个NodeJS项目

batch-file - 如何批量传输重命名?

git - 如何在从远程分支 merge 之前检查真实的 git diff?

c++ - 如何在C++中调用cygwin?

Git blob 数据和不同的信息

python - 以高效的方式从 Python 运行 ANSYS Mechanical APDL

python - 比较 XML 片段?

java - Spring 批处理,记录跳过的记录/行

database - 如果我使用复合键,数据会在同一分区中吗?