Linux

如何讓 linux ‘diff’ 在 bash 中使用正則表達式

  • October 27, 2019

我有兩個文件,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

引用自:https://unix.stackexchange.com/questions/548921