文件 foo.c:
do {
a=b;
c=d;
} while (0)
文件bar.c
do {
a=b;
c=d;
\
} while (0)
在 shell 脚本中,上述 2 个文件的差异:
diff foo.c bar.c
< } while (0)
---
> \
> } while (0)
我试图使用
忽略此差异diff -I "reg-ex pattern".
我尝试了像 "\s}\swhile\s(0)"
、 "} while (0)"
等模式,但没有用。是否可以忽略上述情况?如果不是“diff”,还有其他实用程序吗?
最佳答案
您可以通过使用 sed 删除不需要的行来做到这一点。然后忽略差异。
foo.c 和 bar.c 之间有 2 个差异
- 与
\
行 - foo.c 中
}
之前有一个空格
你可以这样做:
diff -I '\s\?}' <(sed '/^\\/d' bar.c) foo.c
使用 sed 删除 \
行并忽略 foo.c 中的空格
关于regex - 忽略 diff 命令中带有反斜杠的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41218772/