如何获取祖父母目录的名称?
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/../..")"
如果我有路径 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/../..")"