A maneira como eu abordaria isso seria fazer um loop pelos diretórios, executando find
em cada um até corresponder.
for dir in path1 path2 path3
do
echo "Searching $dir" >&2
match=$(find "$dir" -type f -name "filename" 2>/dev/null)
test -n "$match" && echo "$match" && break
done
Você pode remover as duas instruções echo
se quiser uma solução silenciosa. Na saída do loop, se $match
não estiver vazio, ele conterá o nome completo do caminho e $dir
conterá o diretório de nível superior sob o qual ele pode ser encontrado.