Question : existe-t-il une commande simple sh/bash/zsh/fish/... pour imprimer le chemin absolu de n'importe quel fichier que je lui envoie ?
Cas d'utilisation : Je suis dans le répertoire /a/b
et je voudrais imprimer le chemin complet vers le fichier c
sur la ligne de commande afin que je puisse facilement le coller dans un autre programme : /a/b/c
. C'est simple, mais un petit programme pour faire cela pourrait probablement me faire gagner 5 secondes environ lorsqu'il s'agit de gérer de longs chemins, ce qui, au final, s'additionne. Je suis donc surpris de ne pas trouver d'utilitaire standard pour faire cela - n'en existe-t-il vraiment pas ?
Voici un exemple d'implémentation, abspath.py :
#!/usr/bin/python
# Author: Diggory Hardy <diggory.hardy@gmail.com>
# Licence: public domain
# Purpose: print the absolute path of all input paths
import sys
import os.path
if len(sys.argv)>1:
for i in range(1,len(sys.argv)):
print os.path.abspath( sys.argv[i] )
sys.exit(0)
else:
print >> sys.stderr, "Usage: ",sys.argv[0]," PATH."
sys.exit(1)
0 votes
Je dirais que la réponse de @DennisWilliamson (en utilisant l'option -m) est supérieure pour (généralement) être plus portable et travailler avec des fichiers qui n'existent pas.
0 votes
Ou la réponse de Flimm ; les deux sont de bonnes solutions. Les réponses de Bannier cependant mon la meilleure question originale.
3 votes
Utilisateurs d'OSX : voir cette réponse
0 votes
Duplicata possible de Bash : récupérer un chemin absolu à partir d'un chemin relatif