web-dev-qa-db-fra.com

Obtenir le chemin absolu des fichiers en utilisant la commande 'find'

Existe-t-il un moyen d’obtenir le chemin absolu d’un fichier recherché?

Par exemple:

find .. -name "filename"

Il me donne des résultats comme ../filename mais je veux le chemin complet.

Ce dont j'ai besoin, c'est de trouver dans le répertoire parent et ses enfants, pour un fichier spécifique, que j'utiliserai dans un autre script ultérieurement.

Merci

23
JorgeeFG

Essayez quelque chose comme:

find "$(cd ..; pwd)" -name "filename"
14
Scrutinizer

Essayez d’utiliser l’option -exec de find:

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

Remarque: readlink imprime la valeur d'un lien symbolique ou d'un nom de fichier canonique.

11
Sylvain Pineau

Le plus simple est

find "$(pwd -P)" -name "filename"
7
Vivek

Vous pouvez utiliser Tilde Expansion de bash pour obtenir le chemin absolu du répertoire de travail actuel. De cette manière, find imprime également le chemin absolu des résultats:

find ~+ -type f -name "filename"

Si exécuté dans ~/Desktop, ceci est étendu à

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

et imprime des résultats comme:

/home/yourusername/Desktop/filename
4
dessert

Également en utilisant PWD peut vous montrer le répertoire complet. Pwd vous montrera tous vos répertoires dans lesquels vous vous trouvez, comme l’extension du nom de fichier. J'espère que cela a aidé.

1
Sir_Dippingsauce