这是命令 stag-diffp 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
stag-diff - 找出两个 stag 文件之间的差异
概要
stag-diff -忽略 foo-id -忽略 bar-id file1.xml file2.xml
商品描述
比较两个数据树并报告它们是否匹配。 如果它们不匹配,则不匹配
被报道。
争论
-帮助|h
显示这个文件
-ignore|i 元素
出于比较的目的,这些节点被忽略。 注意属性是
被视为元素,以包含元素 id 为前缀。 例如,如果你有
并且您希望忽略 ID 属性,那么您将使用开关
-忽略 foo-ID
您可以像这样指定多个要忽略的元素
-i foo -i 酒吧 -i baz
您还可以指定路径
-i foo/酒吧/酒吧 ID
-parser|p 格式
要使用哪个解析器。 默认值为 XML。 这也可以由文件自动检测
后缀。 其他选择是 sxpr 和 文本. 有关详细信息,请参阅 Data::Stag。
-report|r 元素
报告 ELEMENT 类型的每个元素上发生的不匹配
可以指定多个元素
-详细|v
与 -报告 开关
显示不匹配元素的树
OUTPUT
如果报告不匹配,则会生成报告,显示树的子部分
无法匹配。 这将如下所示:
原因:no_matching_node:注释
no_matching_node:特征集
no_matching_node:feature_span
no_matching_node:证据
no_matching_node:证据ID
数据不匹配(:15077290 ne:15077291):证据ID和证据ID
由于树匹配的性质,很难准确地指定树是如何做的
不匹配。 要对此进行调查,您可能需要使用 -r 和 -v 选项。 对于上述
输出,我建议使用
雄鹿差异-r feature_span -v
算法
两棵树都被递归遍历......查看实际代码了解其工作原理
元素的顺序并不重要; 例如
1
2
火柴
2
1
该算法的递归性质意味着某些树比较会爆炸
写时间和记忆。 我认为这只会发生在节点高的非常深的树上
树中的上层只能通过树中低下的节点来区分。
两棵树一开始都加载到内存中,因此它可能会以非常大的
文件
著者
Chris Mungall cjm 在fruitfly dot org
使用 onworks.net 服务在线使用 stag-diffp