Talvez você esteja procurando a opção -path
:
find / -path "*/dirname/filename.extension"
O problema no seu comando é o joker *
depois que o pipe |
expende para a lista de arquivos no diretório atual, então o comando find
irá procurar dentro deles. Outra maneira seria usar a opção -exec
, {}
será substituída pelo que a primeira descoberta encontrar (mas, por que as coisas são assim?):
find / -type d -name "dirname" -exec find {} -type f -name "filename.extension" \;