查找但不深入到包含搜索文件的目录

Hac*_*chi 6 linux bash find

我有几个由 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
}
Run Code Online (Sandbox Code Playgroud)

但我宁愿使用一种简单的方式来查找,这样其他人就可以更好地理解/扩展

小智 1

find . -name pom.xml -print -quit
Run Code Online (Sandbox Code Playgroud)

如果您想加快搜索速度,还可以使用locate,它查询数据库而不是扫描文件系统。

您可以通过运行来更新数据库updatedb