Bash 如何获取路径名并删除最后两个文件夹名

Bash 如何获取路径名并删除最后两个文件夹名,bash,Bash,我花了很多时间四处看看,找不到解决我具体问题的办法。我真的很感激任何帮助 我有一个文件夹路径,我想从中删除最后两个文件夹名。我试图找到类似于dirname的东西,因为dirname只会删除最后一个文件夹名 例如,我有路径/This/Is/the/path/,我想编写一个脚本来删除最后两个文件夹并返回/This/Is/您能这样做吗 $ a="/This/Is/The/Path" $ echo ${a%/*/*} 输出: /This/Is 使用参数展开: dir=/This/Is/The/Pat

我花了很多时间四处看看,找不到解决我具体问题的办法。我真的很感激任何帮助

我有一个文件夹路径,我想从中删除最后两个文件夹名。我试图找到类似于
dirname
的东西,因为
dirname
只会删除最后一个文件夹名


例如,我有路径
/This/Is/the/path/
,我想编写一个脚本来删除最后两个文件夹并返回
/This/Is/

您能这样做吗

$ a="/This/Is/The/Path"
$ echo ${a%/*/*}
输出:

/This/Is

使用参数展开:

dir=/This/Is/The/Path/
dir=${dir%/*/*/}/  # Remove pattern on the right.
echo "$dir"