2010-04-30 77 views
9

如何區分兩個文件並忽略以一個序列開頭的行。如何忽略以diff開頭的字符串?

E.g

File1: 
abc 
def 
time:123 

File2: 
igh 
def 
time:345 

使用UNIX的diff將報告

<time:123 
>time:345 

我想忽略這個差異。有任何想法嗎?

回答

13

如何:diff -I '^time.*' file1 file2

請不是doesn't always work as expecteddiffutils手冊:

然而,-I僅忽略包含正則表達式,如果在大塊(每次插入和每次刪除)每一改變的線匹配線的插入或缺失正則表達式。

換句話說,對於每個不可忽略的更改,diff將打印其鄰域中的整套更改,包括可忽略的更改。您可以通過使用多個-I選項來爲要忽略的行指定多個正則表達式。 diff嘗試將每行與每個正則表達式匹配,從給定的最後一個開始。