シェル(BASH/ZSH/SH)経由でファイルの絶対パスを取得するにはどうすればいいですか?質問する

シェル(BASH/ZSH/SH)経由でファイルの絶対パスを取得するにはどうすればいいですか?質問する

質問: 入力したファイルの絶対パスを印刷する簡単な sh/bash/zsh/fish/... コマンドはありますか?

使用例: ディレクトリ内にいて、コマンドラインで/a/bファイルへのフルパスを出力して、別のプログラムに簡単に貼り付けられるようにしたい: 。これを行うためのシンプルですが小さなプログラムがあれば、長いパスの処理にかかる時間を 5 秒ほど節約でき、最終的には大きな節約になります。そのため、これを実行するための標準ユーティリティが見つからないことに驚きました。本当に存在しないのでしょうか?c/a/b/c

サンプル実装 abspath.py を次に示します。

#!/usr/bin/python
# Author: Diggory Hardy <[email protected]>
# 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)

ベストアンサー1

使用realpath

$ realpath example.txt
/home/username/example.txt

おすすめ記事