如何在unix diff中排除这一行?

时间:2015-02-24 15:28:06

标签: unix diff

如何在unix diff中排除以下行?

<xs:element attribute1="0" attribute2="return" attribute3="true" type="ax277:ResponseDataBean"/>

我需要排除'ax'之后的数字不同的所有情况。例如,应排除以下差异:

文件1:

<xs:element attribute1="0" attribute2="return" attribute3="true" type="ax277:ResponseDataBean"/>

文件2:

<xs:element attribute1="0" attribute2="return" attribute3="true" type="ax111:ResponseDataBean"/>

我试过了:

diff -I'type =“ax ^'file1 file2

但它仍然显示那些线条。

1 个答案:

答案 0 :(得分:1)

你真的应该使用XML工具来处理XML,因为在你发现一个在你不期望的地方使用换行符编写的文件之前不会很久,使您要排除的行不再与单行模式匹配。

然而,一种方法就是从diff认为开始的输入中排除这些行。使用bash流程替换:

沿着这些方向行事
diff <(grep -v 'type="ax[0-9]+:' file1) <(grep -v 'type="ax[0-9]+:' file2)