我有两个文件,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
答案1
^
匹配行的开头和结尾$
,并匹配字符串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