Pytanie: czy istnieje prosta komenda sh / bash / zsh / fish / ... do wydrukowania ścieżki bezwzględnej dowolnego pliku, który ją podam?
Przypadek użycia: Jestem w katalogu /a/b
i chciałbym, aby wydrukować pełną ścieżkę do pliku c
w linii poleceń, dzięki czemu można łatwo wkleić go do innego programu: /a/b/c
. Prosty, ale niewielki program do tego może prawdopodobnie zaoszczędzić mi około 5 sekund, jeśli chodzi o obsługę długich ścieżek, co w końcu się sumuje. Zaskakuje mnie to, że nie mogę znaleźć standardowego narzędzia do zrobienia tego - czy tak naprawdę nie ma takiego?
Oto przykładowa implementacja, 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)