5 find
是否有任何等效的命令或选项find可以搜索目录树?我想通过树向后查看具有给定名称的文件。例如,假设我在 /usr/local/share/bin 中,我想搜索一个名为foo. 理想情况下,我希望命令按以下顺序查找文件:
我知道我可以把这样的东西写成一个 shell 函数,但我希望有一个像 gnu 一样丰富的命令find我可以利用。
find_backwards () {
test $# -ne 1 && return 2
if [ -z "$find_backwards_recurse" ]; then
pushd . &>/dev/null
find_backwards_recurse=yes
fi
if [ -f "$1" ]; then
echo "${PWD}/${1}"
popd &>/dev/null
find_backwards_recurse=
return 0
else
if [ / != "$PWD" ]; then
cd ..
find_backwards "$1"
else
popd &>/dev/null
find_backwards_recurse=
return 1
fi
fi
}
start cmd:> pwd
/home/hl/tmp/tmp
start cmd:> find_backwards foo
/home/hl/tmp/foo
Run Code Online (Sandbox Code Playgroud)