我有几个由 pom.xml 或类似配置的项目。
我想使用 linux file 命令来定位这些项目,例如经过find -name pom.xml
。
然而,由于路径很深,这需要一些时间。我想用find -prune
当我已经找到文件时停止在子目录中搜索,但修剪仅在匹配的目录上停止,而不在匹配的文件上停止。
当目录已经包含搜索到的文件时,有没有办法让 find 停止下降?
为了澄清;这就是我在没有找到的情况下所做的:
pfind() {
parent=$1 && shift
for file in "$@" ; do
path=$parent/$file
if [ -e "$path" ] ; then
echo "$path"
exit 0
fi
done
for dir in $(echo $parent/*) ; do
if [ -d "$dir" ] ; then
pfind "$dir" "$@"
fi
done
}
但我宁愿使用一种简单的方式来查找,这样其他人就可以更好地理解/扩展
find . -name pom.xml -print -quit
如果你想加快搜索速度,你也可以使用locate
,它查询数据库而不是扫描文件系统。
您可以通过运行来更新数据库updatedb
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)