Linux
如何讓 linux ‘diff’ 在 bash 中使用正則表達式
我有兩個文件,expected.out 和 actual.out
PID(12345)
PID(01234)
分別帶有:。如果只有 5 個數字不同,我希望 diff 忽略該行,因此 diff 將返回空。這個想法是讓 diff 忽略具有不同 PID 但其他方面相同的日誌。
以下不起作用:
diff -I '\([0-9]{5}\)' -I '\([0-9]{5}\)' expected.out actual.out
匹配行的開頭和
^
結尾,$
也匹配字元串PID
(你不想被忽略):FOO(12345)``BAR(12345)
diff -I '^PID([0-9]\{5\})$' expected.out actual.out
匹配一位或多位數字比假設每個 PID 有 5 位數字更安全:
diff -I '^PID([0-9]\+)$' expected.out actual.out