Como posso encontrar um determinado arquivo nomeado dentro de um determinado diretório nomeado que poderia estar em qualquer lugar no sistema de arquivos?

2

Eu estou tentando encontrar um arquivo dentro de um diretório onde o nome do arquivo e o nome do diretório são conhecidos. Por exemplo, digamos que eu queira encontrar

" ...don't know this part of file path stem).../dirname/filename.extension "

Tenho a sensação de que estou procurando algo assim:

find / -type d -name "dirname" | xargs find * -type f -name "filename.extension"

Mas não consigo encontrar o combo certo. Qual é o jeito certo de fazer isso?

    
por sunny 27.07.2015 / 23:16

2 respostas

1

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" \;
    
por 28.07.2015 / 01:25
0

Use -wholename em vez de -name . Ele permitirá que você pesquise o nome do caminho completo.

find / -wholename "*directory/filename" -print
    
por 28.07.2015 / 04:34

Tags