使用bash按目录树的名称查找文件

Nie*_*Wet 11 bash find

使用bash,如何在目录树的某个位置找到具有特定名称的文件pwd

更清楚.我想找到一个位于我的工作目录根目录中的文件,但我不知道root的位置,而我pwd可能位于根目录下的任何位置.

kev*_*kev 13

找到file.txtroot用户

x=`pwd`
while [ "$x" != "/" ] ; do
    x=`dirname "$x"`
    find "$x" -maxdepth 1 -name file.txt
done
Run Code Online (Sandbox Code Playgroud)

  • 很棒的东西@kev。我刚刚在循环中添加了一个中断:``x=`pwd`; while [ "$x" != "/" ] ; do x=`目录名 "$x"`; 回显“$x”;if [ `find "$x" -max深度 1 -name erm.properties` ]; 然后打破;菲;完成`` (2认同)

Mil*_*oDC 5

local DIR=$(pwd)
while [ ! -z "$DIR" ] && [ ! -f "$DIR/myFile.txt" ]; do
    DIR="${DIR%\/*}"
done
echo $DIR/myFile.txt
Run Code Online (Sandbox Code Playgroud)

  • 有时,遵循实际路径而不是链接更有意义。在这种情况下,将第一行替换为:`DIR=$(realpath $PWD)` (2认同)