日期:2014-05-16  浏览次数:20763 次

如何使用find搜索文件名为A或者B?
比如./foo下面的子目录中既有Makefile,也有module.mk,我怎么能在一条find命令里面找到所有名字为Makefile或者module.mk的文件?谢谢!
我试过
find ./software/fw/be/ -name "Makefile|module.mk" -print
find ./software/fw/be/ -name "module.mk" -o -name "Makefile" -print
都不起作用。

------解决方案--------------------
这样
find ./software/fw/be/ \( -name "module.mk" -o -name "Makefile" \) -print
------解决方案--------------------
第二条的-print去掉。
------解决方案--------------------
还有,find是使用通配符的,不是正则语法。

-print只打印-print之前的那个被找到的文件,你应该是:

find ./software/fw/be/ -name "module.mk" -print -o -name "Makefile" -print

或者干脆不写print,因为这个动作是默认的。