Não testado, mas isso deve ser feito em bash
(não tenho certeza sobre outros shells):
#!/bin/bash
oldpwd='pwd'
ret=1
while true; do
find 'pwd' -mindepth 1 -maxdepth 1 $@
if [ $? -eq 0 ] ; then
ret=0
fi
if [ 'pwd' = '/' ] ; then
exit $ret
else
cd ..
fi
done
cd $oldpwd
Como um script, ele deve aceitar a sintaxe regular find
para expressões. Ele salva o diretório atual para que possa voltar mais tarde e, em seguida, faz um loop na árvore de diretórios, pesquisando apenas itens nesse nível para a expressão, até atingir o diretório raiz. Isso irá imprimir todos os itens correspondentes na árvore, você pode facilmente adicionar um cheque dentro do loop para salvar se find
for bem-sucedido se você quiser apenas as primeiras correspondências.
Provavelmente, ele poderia ser otimizado um pouco, mas fui rápido e fácil de entender ao máximo.