Obtém o caminho absoluto dos arquivos usando o comando 'find'

16

Existe uma maneira de obter o caminho absoluto de um arquivo que está sendo pesquisado?

Por exemplo:

find .. -name "filename"

Isso me dá resultados como ../filename , mas eu quero o caminho completo.

O que eu preciso é encontrar no diretório pai e seus filhos, para um arquivo específico, que eu vou usar em outro script mais tarde.

Obrigado

    
por JorgeeFG 07.04.2014 / 17:37

5 respostas

10

Tente algo como:

find "$(cd ..; pwd)" -name "filename"
    
por Scrutinizer 07.04.2014 / 17:47
10

Tente usar a opção -exec de find :

find .. -name "filename" -exec readlink -f {} \;

Nota: readlink imprime o valor de um link simbólico ou nome de arquivo canônico.

    
por Sylvain Pineau 07.04.2014 / 17:51
2

A maneira mais simples é

find "$(pwd -P)" -name "filename"
    
por Vivek 23.09.2017 / 18:05
1

O uso do PWD também pode mostrar o diretório completo. Pwd irá mostrar-lhe todas as suas directorias, como a expansão do nome do arquivo. Espero que isso tenha ajudado.

    
por Sir_Dippingsauce 07.04.2014 / 20:16
1

Você pode usar o Tilde Expansion de bash para obter o caminho absoluto do diretório de trabalho atual, desta forma find também imprime o caminho absoluto para os resultados:

find ~+ -type f -name "filename"

Se executado em ~/Desktop , isso será expandido para

find /home/yourusername/Desktop -type f -name "filename"

e imprime resultados como:

/home/yourusername/Desktop/filename
    
por dessert 08.05.2018 / 09:14