如何忽略以diff开头的字符串?

时间:2010-04-30 19:26:00

标签: unix diff

如何区分两个文件并忽略以序列开头的行。

E.g

File1:
abc
def
time:123

File2:
igh
def
time:345

使用unix diff会报告

<time:123
>time:345

我想忽略这种差异。有什么想法吗?

2 个答案:

答案 0 :(得分:14)

怎么样:diff -I '^time.*' file1 file2

根据doesn't always work as expected手册

,请不要diffutils
  

但是,-I仅忽略包含正则表达式的行的插入或删除,如果hunk中的每个更改行(每次插入和每次删除)都与正则表达式匹配。

     

换句话说,对于每个不可忽略的变化,diff打印其附近的整套变化,包括可忽略的变化。您可以使用多个-I选项为要忽略的行指定多个正则表达式。 diff尝试将每一行与每个正则表达式匹配,从给定的最后一个开始。

答案 1 :(得分:0)

那呢?

diff <(grep -v '^time:' file1) <(grep -v '^time:' file2)