1
我想合併 - 或至少是diff - 兩個Fortran名單文件,同時忽略空格。和以!
開頭的行。正則表達式:忽略「!」區分/合併兩個以「!」開頭的文件
我已經試過
diff -w -u -I '!.*' FILE1 FILE2
diff -w -u -I '\!.*' FILE1 FILE2
meld FILE1 FILE2
,但沒有正則表達式福似乎可以不要忽視!
我想合併 - 或至少是diff - 兩個Fortran名單文件,同時忽略空格。和以!
開頭的行。正則表達式:忽略「!」區分/合併兩個以「!」開頭的文件
我已經試過
diff -w -u -I '!.*' FILE1 FILE2
diff -w -u -I '\!.*' FILE1 FILE2
meld FILE1 FILE2
,但沒有正則表達式福似乎可以不要忽視!
當你使用-I
,diff
只跳過hunks,其中每改變線匹配的正則表達式。所以,你需要先過濾掉那些行。
假設你正在使用的shell,比如bash
,你可以使用進程替換:
diff -w -u <(grep -v '^!' FILE1) <(grep -v '^!' FILE2)
注意,這可能會改變報告的行號和統一的輸出。
這是行不通的...甚至'grep -v'^!' FILE1'返回很多行(註釋或不行),也許是因爲「!」並不總是在行的開始?但'*!*'也不起作用。這裏是[FILE1]的鏈接(https://gist.github.com/geophtwombly/5105124/raw/3c579b48ee65afa08c213c609ddb82cda6eeb9bf/FILE1.f90) – Abe 2013-03-07 02:30:05
如果'!'不完全在行的開頭,請嘗試'[ [:空間:]] *'!這將消除在最初的'!'之前有空格(或製表符)的行。 – nneonneo 2013-03-07 02:31:59
明白了。感謝您的教程。 – Abe 2013-03-07 02:36:49