2010-05-01 110 views
1

我有這兩個文件Unix的差異僅打印相關的差異

文件:11

11 
456123 

文件:22

11 
789 

輸出的diff 11 22

2c2 
< 456123 
--- 
> 789 

輸出爲

< 456123 
> 789 

我希望它不打印2c2---線。我看着手冊頁,但找不到任何幫助。有任何想法嗎?該文件有超過1000行。

+2

這差異是錯誤的。 – wilhelmtell 2010-05-01 08:35:59

+0

修正了差異。如果您要提供測試用例,至少應提供可用的工具:-) – paxdiablo 2010-05-01 08:49:48

回答

5

diff 11 22 | grep "^[<|>]"怎麼樣?

更新:由於knitti指出了正確的模式是^[<>]

+0

+1。看起來是最簡單的解決方案,並且管道上的UNIX是_built_ :-) – paxdiablo 2010-05-01 08:50:48

+0

grep「^ [<>]」#字符類不需要管道來分割不同的可能性 – knittl 2010-05-01 08:53:04

+0

knitti:你說得對,已經過時了。 – jnns 2010-05-01 09:04:09

2

DIFF有像--old-group-format有用的選項,以幫助很簡單地說明整個主機。他們擴大在http://www.network-theory.co.uk/docs/diff/Line_Group_Formats.html

以下是產生類似於你想要的東西。

diff 11.txt 22.txt --unchanged-group-format="" --changed-group-format="<%<>%>" 

    <456123 
    >789 

您可能還需要等

免責聲明--old-group-format=format--new-group-format=format--old-line-format=format(格式線剛剛從第一個文件)和--new-line-format=format(含從第一個文件只行組帥哥)

玩 - 我沒用過這對於真正的以前,其實我只是剛剛瞭解他們。如果您還有其他問題,我很樂意看到它。

編輯改線路的順序