是否有一种简单的方法可以打印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
当前回答
echo $(cd $(dirname "$1") && pwd -P)/$(basename "$1")
这是对@ZeRemz的答案的解释:
这个脚本获取相对路径作为参数"$1" 然后我们得到该路径的dirname部分(你可以将dir或file传递给这个脚本): 然后将“$(dirname“$1”)cd到这个相对目录中 && pwd -P并获取它的绝对路径。-P选项将避免所有符号链接 在此之后,我们将basename附加到绝对路径: 作为最后一步,我们重复它
其他回答
fp () {
PHYS_DIR=`pwd -P`
RESULT=$PHYS_DIR/$1
echo $RESULT | pbcopy
echo $RESULT
}
将文本复制到剪贴板并在终端窗口上显示文本。
:)
(我从另一个堆栈溢出的答案复制了一些代码,但再也找不到答案了)
在Mac OSX中,执行以下步骤:
CD到目标文件的目录。 输入下列任意一个终端命令。
Terminalls "`pwd`/file.txt"
echo $(pwd)/file.txt
用实际的文件名替换file.txt。 按回车键
在mac下面提到的行工作。不需要添加任何花哨的线条。
> pwd filename
这可以简化
ls <file_name> | pwd
下面的方法通常可以达到目的:
echo "$(cd "$(dirname "$1")" && pwd -P)/$(basename "$1")"