如何获取祖父母目录的名称?

How to get the name of the grandparent directory?

如果我有路径 one/two/three/four/here.md,我应该得到的名称是 three

如果我有路径 a/b/filename.md,我应该得到的名称是 a

路径看起来像 ./topic/sub/guides

编辑:

为了明确我的意图,我想要 bash 脚本中的变量中的“三”。

这是两个目录和一个名字的基础。

var=a/b/filename.md
basename "$(dirname "$(dirname "$var")")"

一种选择是使用 realpath 然后 basename:

the_dir='./topic/sub/guides'
basename -- "$(realpath -m -- "$the_dir/../..")"