如何在shell脚本中提取路径的某些部分?

noo*_*ine -1 shell shell-script

我有一个带有 path 的变量/usr/apps/app1/home/usera/run/10/_tmp/folder1/folder1。如何/usr/apps/app1/home/usera/run/10/_tmp在shell脚本中提取?

Gil*_*not 6

使用 shell参数扩展

dir=/usr/apps/app1/home/usera/run/10/_tmp/folder1/folder1
echo "${dir%/*/*}"
Run Code Online (Sandbox Code Playgroud)

/usr/apps/app1/home/usera/run/10/_tmp
Run Code Online (Sandbox Code Playgroud)

参数扩展扩展参数:$foo, $1. 您可以使用它来执行字符串或数组操作:"${file%.mp3}", "${0##*/}", "${files[@]: -4}"应始终引用它们。

请参阅: http: //mywiki.wooledge.org/BashFAQ/073
LESS='+/Parameter Expansion' man bash
请参阅http://wiki.bash-hackers.org/syntax/pe