我正在尝试查找名称与某些 C++ 文件扩展名匹配但排除某些与模式匹配的目录的所有文件:
find /home/palchan/code -name "*.[CcHh]" -o -name "*.cpp" -o -name "*.hpp" -a ! -name "*pattern*"
这仍然给我输出某些文件,例如:
/home/palchan/code/libFox/pattern/hdr/fox/RedFox.H
其中有图案?
这是一个例子:
> ls -R .
.:
libFox
./libFox:
RedFox.C RedFox.H pattern
./libFox/pattern:
RedFox.C RedFox.H
然后我运行:
> find . \( -name "*.[HC]" -a ! -name "*pattern*" \)
./libFox/pattern/RedFox.C
./libFox/pattern/RedFox.H
./libFox/RedFox.C
./libFox/RedFox.H