是否有一种简单的方法可以打印file.txt的完整路径?

file.txt = /nfs/an/disks/jj/home/dir/file.txt

<命令>

dir> <command> file.txt  

应该打印

/nfs/an/disks/jj/home/dir/file.txt

当前回答

另一个Linux实用程序,它做这个工作:

fname <file>

其他回答

适用于Mac, Linux, *nix:

这将为您提供当前目录下所有文件的引用csv:

ls | xargs -I {} echo "$(pwd -P)/{}" | xargs | sed 's/ /","/g'

输出可以很容易地复制到python列表或任何类似的数据结构中。

另一个Linux实用程序,它做这个工作:

fname <file>

我喜欢已经给出的许多答案,但我发现这真的很有用,特别是在脚本中获得文件的完整路径,包括遵循符号链接和相对引用,例如。和. .

dirname `readlink -e relative/path/to/file`

它将返回从根路径开始的文件的完整路径。 这可以在脚本中使用,以便脚本知道它是从哪个路径运行的,这对于可能位于机器上任何位置的存储库克隆非常有用。

basePath=`dirname \`readlink -e $0\``

然后我可以在我的脚本中使用${basePath}变量来直接引用其他脚本。

希望这能有所帮助,

Dave

you@you:~/test$ ls
file
you@you:~/test$ path="`pwd`/`ls`"
you@you:~/test$ echo $path
/home/you/test/file

使用指向:

readlink -f file.txt