我有一个源文件夹,您可以在其中找到扩展名为.c
, .pc
,的文件.pro.c
。
我想查找所有带有 和 的文件.c
,.pc
因为是预处理后.pro.c
生成的文件。.pc
这是我的查找表达式,但尚不正确:
find source \( \( -name '*.pro.c' \) -a -prune \) -o \( -name '*.c' -a -print \)
我的错误是什么?
有人可以帮助我并解释为什么我没有得到正确的结果吗?
谢谢。
答案1
-prune
适用于目录,而不是文件,并指示find
不要下降到它正在查看的目录。
您只需要否定名称测试:
find source -name '*.c' ! -name '*.pro.c' -o -name '*.pc'