是否有一种简单的方法可以打印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
当前回答
适用于Mac, Linux, *nix:
这将为您提供当前目录下所有文件的引用csv:
ls | xargs -I {} echo "$(pwd -P)/{}" | xargs | sed 's/ /","/g'
输出可以很容易地复制到python列表或任何类似的数据结构中。
其他回答
我发现最简单的方法是:
for i in `ls`; do echo "`pwd`/$i"; done
这对我来说很有效。
这将为您提供文件的绝对路径:
find / -name file.txt
对于Mac OS X,我替换了操作系统附带的实用程序,用更新版本的coreutils替换了它们。这允许你在Mac上访问像readlink -f(文件的绝对路径)和realpath(目录的绝对路径)这样的工具。
Homebrew版本在命令名前附加了一个“G”(GNU工具)——所以等价的是greadlink -f FILE和grealpath DIRECTORY。
关于如何通过Homebrew在Mac OS X上安装coreutils/GNU Tools的说明可以在这篇StackExchange文章中找到。
注意:readlink -f和realpath命令对于非mac Unix用户应该是开箱即用的。
获取文件的完整路径:
1)在包含你的文件的文件夹中打开你的终端,按键盘上的下列键:
CTRL + ALT + T
2)输入“pwd”(工作目录打印名称的首字母缩写):
your@device ~ $ pwd
这就是所有的朋友们!
这个解决方案使用的命令存在于Ubuntu 22.04上,但通常存在于大多数其他Linux发行版上,除非它们只是为了s'mores而硬核。
在Linux或Mac上获取文件完整路径的最短方法是使用ls命令和PWD环境变量。
<0.o> touch afile
<0.o> pwd
/adir
<0.o> ls $PWD/afile
/adir/afile
你可以用你自己的目录变量d做同样的事情。
<0.o> touch afile
<0.o> d=/adir
<0.o> ls $d/afile
/adir/afile
注意,如果没有标记,ls <FILE>和echo <FILE>是等效的(对于当前目录中的有效文件名称),所以如果你使用echo,如果你愿意,你可以使用ls代替。
如果情况相反,您有完整的路径并想要文件名,只需使用basename命令。
<0.o> touch afile
<0.o> basename $PWD/afile
afile