示例字符串:
/ GASG /串
预期结果:string
要删除的字符:“/”符号之间的所有字符,包括符号
答案 0 :(得分:18)
使用sed
:
$ echo "/gasg/string" | sed -e 's/\/.*\///g'
string
使用内置bash字符串操作:
$ s="/gag/string"
$ echo "${s##/*/}"
string
您的字符串看起来与Unix路径名完全一样。这就是为什么你也可以使用basename
实用程序 - 它返回给定Unix路径名的最后一部分:
$ basename "/gag/string"
string
# It works with relative paths and spaces too:
$ basename "gag/fas das/string bla bla"
string bla bla
答案 1 :(得分:18)
同样是awk - 使用斜杠作为分隔符并打印最后一个字段
echo "/gas/string" | awk -F/ '{print $NF}'
或者剪切 - 但只有当您有相同数量的目录要剥离时才能使用
echo "/gasg/string" |cut -d/ -f 3
答案 2 :(得分:3)
你可以使用bash字符串操作
a='/gasg/string'
echo ${a##*/}