Existe-t-il un moyen d'obtenir le chemin absolu d'un fichier recherché?
Par exemple:
find .. -name "filename"
Cela 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 plus tard dans un autre script.
Merci
command-line
find
JorgeeFG
la source
la source
Réponses:
Essayez quelque chose comme:
la source
$(cd ..; pwd)
. Ici, cela fonctionne bien, mais si je le fais seul dans un terminal, je ne peux pas obtenir le répertoire parent ... Je reçois "Bash: <rép>: est un répertoire. Et si je le fais,$(cd ..; echo "something")
je reçois" quelque chose: pas un command "(cd ..; pwd)
( ... )
signifie exécuter dans un sous-shell, la sortie est écrite dans stdout.$( ... )
signifie "substitution de commande". Ce dernier peut être utilisé comme s'il s'agissait d'une expansion variable.Essayez d'utiliser l'
-exec
option defind
:Remarque:
readlink
imprime la valeur d'un lien symbolique ou d'un nom de fichier canonique.la source
Vous pouvez utiliser
bash
l'extension Tilde de pour obtenir le chemin absolu du répertoire de travail en cours, de cette façon,find
imprime également le chemin absolu pour les résultats:S'il est exécuté en
~/Desktop
, il est étendu àet imprime des résultats comme:
Si vous souhaitez utiliser cette approche avec le répertoire parent du répertoire de travail actuel, vous devez le faire
cd
avant d'appelerfind
:la source
Le moyen le plus simple est
la source
find `pwd -P` -name "filename"
L'utilisation de PWD peut également 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 vous a aidé.
la source
Cela a fonctionné pour moi, mais ne retournera que la première occurrence.
Pour obtenir des chemins complets pour toutes les occurrences (comme suggéré par Sergiy Kolodyazhnyy)
la source
Suppression du dernier composant de répertoire avec le paramètre Expansion .
Un exemple de la façon dont vous pouvez utiliser mapfile pour enregistrer la sortie de find dans un tableau indexé pour une utilisation ultérieure.
(si aucun nom de tableau n'est spécifié, MAPFILE sera le nom de tableau par défaut).
la source