我有两个文件夹,分别是 Folder_A 和 Folder_B。这两个文件夹中的大多数文件都相同,但 Folder_B 中的某些文件被 #if ... #endif 部分修改了。是否有任何 Linux 命令或批处理可以在 Folder_B 中找到此类文件?
答案1
$ cat file1.c
foo bar
#ifdef foo
bar
#endif
qux
#ifdef foo2
bar2
#endif
qzzx
。
$ cat file2.c
foo bar
#ifdef foo_
bar_
#endif
qux
#ifdef foo3
bar3
#endif
quux
。
$ diff \
> <(awk '/^[[:space:]]*#if/,/^[[:space:]]*#endif/{next}1' file1.c) \
> <(awk '/^[[:space:]]*#if/,/^[[:space:]]*#endif/{next}1' file2.c)
3c3
< qzzx
---
> quux