我有两个文件,我一直在尝试与diff进行比较。这些文件是自动生成的,并且包含许多行,如下所示:
//! Generated Date : Mon, 14, Dec 2009
我希望忽略这些差异,并且已经开始使用“-I REGEX”标志来实现这一点。
但是,“Date”和冒号之间出现的空格数量各不相同,不幸的是,diff使用的正则表达式的味道似乎缺少一些基本的正则表达式实用程序。
例如,我不能为我的生活得到“一个或多个”加号工作。同样处理空格的“\ s”表示。
diff -I '.*Generated Date\s+:.*' ....
和
diff -I '.*Generated Date +:.*' ....
两者都失败了。
不是继续盲目地尝试,有人可以指出我对正则表达式的diff特定子集的一个很好的参考吗?
谢谢!
=====编辑=======
感谢FalseVinylShrub,我已经确定我应该逃避我的'+'和任何类似的角色。这有点解决了这个问题。 Diff成功匹配
.*Generated Date \+.*
和
.*Generated Date *.*
(注意“日期”和“*”之间有两个空格。)
然而,第二个我尝试将':'添加到该表达式,如下所示:
.*Generated Date \+:.*
和
.*Generated Date \+\:.*
两个版本都无法匹配有问题的字符串,导致diff需要花费更多的时间来运行。有什么想法?