是否有一种简单的方法可以打印file.txt的完整路径?
file.txt = /nfs/an/disks/jj/home/dir/file.txt
<命令>
dir> <command> file.txt
应该打印
/nfs/an/disks/jj/home/dir/file.txt
是否有一种简单的方法可以打印file.txt的完整路径?
file.txt = /nfs/an/disks/jj/home/dir/file.txt
<命令>
dir> <command> file.txt
应该打印
/nfs/an/disks/jj/home/dir/file.txt
当前回答
我知道有一个更简单的方法,但如果我能找到它…
jcomeau@intrepid:~$ python -c 'import os; print(os.path.abspath("cat.wav"))'
/home/jcomeau/cat.wav
jcomeau@intrepid:~$ ls $PWD/cat.wav
/home/jcomeau/cat.wav
其他回答
创建一个如下所示的函数(使用pwd回显文件的绝对路径,并将文件添加到路径的末尾:
abspath() { echo $(pwd "$1")/"$1"; }
现在你可以找到任何文件路径:
abspath myfile.ext
在mac下面提到的行工作。不需要添加任何花哨的线条。
> pwd filename
you@you:~/test$ ls
file
you@you:~/test$ path="`pwd`/`ls`"
you@you:~/test$ echo $path
/home/you/test/file
在类似的场景中,我从其他位置启动cshell脚本。为了设置脚本的正确绝对路径,让它只在指定的目录中运行,我使用了以下代码:
set script_dir = `pwd`/`dirname $0`
$0存储脚本执行的确切字符串。
例如,如果脚本像这样启动:$> ../../test/test.csh, $script_dir将包含/home/abc/sandbox/v1/
在Windows上:
按住Shift键,在Windows资源管理器中右键单击一个文件,会出现一个名为“复制为路径”的选项。 这将复制文件的完整路径到剪贴板。
在Linux上:
您可以使用realpath yourfile命令来获得其他人建议的文件的完整路径。