我想找到我的目录中的所有.c 和 .h 文件,但不包括“测试”文件夹中的文件(有多个)。
我正在搜索的目录有测试目录,例如:
myDirectory/abc/def/test
myDirectory/abc/def/ghi/test
ETC。
到目前为止,我已经尝试过:
find /myDirectory/* -type d -name test -prune -o -name '*.c' -print
这似乎对.c 文件有效,但是当我运行时:
find /myDirectory/* -type d -name test -prune -o -name '*.c' -o -name '*.h' -print
什么也没有返回。
如何包含多种文件类型?
答案1
您必须将这两个-name
谓词分组:
find /myDirectory/* -type d -name test -prune -o \( -name '*.c' -o -name '*.h' \) -print
需要反斜杠来转义括号。