是否有一种简单的方法可以打印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
当前回答
另一个Linux实用程序,它做这个工作:
fname <file>
其他回答
我发现最简单的方法是:
for i in `ls`; do echo "`pwd`/$i"; done
这对我来说很有效。
find $PWD -type f | grep "filename"
or
find $PWD -type f -name "*filename*"
这适用于Linux和Mac OSX:
echo $(pwd)$/$(ls file.txt)
这个解决方案使用的命令存在于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
使用指向:
readlink -f file.txt