bash / fish命令打印文件的绝对路径

问题:是否有一个简单的sh / bash / zsh / fish / ...命令来打印我提供的任何文件的绝对路径?

用例:我在目录/a/b ,我想在命令行上打印文件c的完整路径,以便我可以轻松地将它粘贴到另一个程序中: /a/b/c 。 简单,但一个小程序可以节省5秒左右的时间来处理长路径,最终会加起来。 所以我很惊讶,我找不到一个标准的工具来做到这一点 - 是否真的没有?

以下是一个示例实现,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)

尝试realpath

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

尝试使用readlink来解析符号链接:

readlink -e /foo/bar/baz

#! /bin/sh
echo "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")"
链接地址: http://www.djcxy.com/p/56857.html

上一篇: bash/fish command to print absolute path to a file

下一篇: How can I get `find` to ignore .svn directories?