获取文件的父目录

shr*_*dha 35 linux bash shell

我只想获取文件的父目录的名称。

示例:当我有 时path=/a/b/c/d/file,我只想要d而不想要/a/b/c/d(我从 中获得dirname $path)作为输出。

有没有什么复杂的方法可以做到这一点?

Gor*_*son 37

这听起来像你想的基本部分的目录名称:

$ filepath=/a/b/c/d/file
$ parentname="$(basename "$(dirname "$filepath")")"
$ echo "$parentname"
d
Run Code Online (Sandbox Code Playgroud)


fir*_*ire 7

您可以使用 pwd 获取当前工作目录,并使用参数扩展来避免将其分叉到另一个(子)shell 中。

echo ${PWD##*/}
Run Code Online (Sandbox Code Playgroud)

编辑:经过验证的来源