考慮以下文件和DIFF結果:不一致的等效DIFF結果改變
a1.txt
a
b
My name is Ian
a2.txt
a
a
b
My name is John
運行diff --side-by-side --suppress-common-lines a1.txt a2.txt
產生:
> a
My name is Ian | My name is John
哪個正確說明a
被添加到a2.txt
和My name is Ian
更改爲My name is John
。
但是,如果我從兩個文件中刪除b
,所產生的結果是不同的:
b1.txt
a
My name is Ian
b2.txt
a
a
My name is John
運行diff --side-by-side --suppress-common-lines b1.txt b2.txt
產生於:
My name is Ian | a
> My name is John
這說明線路My name is Ian
改爲a
和My name is John
加入b2.txt
。
即使第二比較的結果是技術上有效,a1.txt
和a2.txt
之間的差異相當於的b1.txt
和b2.txt
,那麼,爲什麼結果不相等?
有什麼我可以做的,第二次比較會產生與第一次相同的輸出嗎?
* [...]爲什麼結果不相等?*您的問題源於diff算法的誤解。 – Jubobs
@Jubobs因爲你似乎比差異算法更瞭解我們,所以請在答案部分給我們一個詳細的答案。將幫助很多 – hazzelnuttie
@Jubobs你可以詳細說明一下嗎?或者你是否僅僅說預期差異解釋等價的變化是不合理的......等價呢? – Ian2thedv