有了这条线
find mydir/ \( -exec test -d '{}'/.svn \; -or -exec test -d {}/.git \; -or -exec test -d {}/CVS \; \) -print -prune
很容易发现哪个目录包含子目录.git
或CSV
os .svn
。
我想发现哪个目录包含 SlackBuild 文件。我已经尝试过但没有成功:
find mydir/ -type d \( -exec test -f {}/*SlackBuild \; \) -print
答案1
您可以找到所有匹配的文件并dirname
为其执行:
find mydir/ -type f -name '*.SlackBuild' -exec dirname {} +
此外,对于 GNU utils,dirname
可以-z
选择输出参数的零分隔(类似于-print0
of find
)。