Bash字符串提取

Bash字符串提取,bash,Bash,我有一个非常简单的问题,我不能很快解决。我必须从以下内容中提取一个子字符串: a="www.himom.com/byebye" 我要检索以下内容: "/byebye" 事实上,我能找回 “www.himom.com”与 有什么建议吗?试试这个: a="www.himom.com/byebye"; echo "/${a##*/}" 试试这个: echo/${a###*/} 它删除了以“/”结尾的最长的子字符串。我是个懒汉。。解决办法是: ${a##*/} 您可以使用正则表达式提取所需的子

我有一个非常简单的问题,我不能很快解决。我必须从以下内容中提取一个子字符串:

a="www.himom.com/byebye"
我要检索以下内容:

"/byebye"
事实上,我能找回

“www.himom.com”与

有什么建议吗?

试试这个:

 a="www.himom.com/byebye"; echo "/${a##*/}"
试试这个:
echo/${a###*/}

它删除了以“/”结尾的最长的子字符串。

我是个懒汉。。解决办法是:

${a##*/}

您可以使用正则表达式提取所需的子字符串:

a="www.himom.com/byebye"
echo `expr match "$a" '.*\(\/.*\)'`

在字符串中保留斜杠

shopt -s extglob
echo "${a##*([^/])}"

您将丢失他想要得到的“/”字符。@izomorphius:可能是海报编辑了答案,但我看到的在我的机器上起作用。很抱歉多次编辑/回滚。我试图让代码正确显示,但我所尝试的没有成功。
$ a="www.himom.com/byebye" | echo ${a##*m}
/byebye
shopt -s extglob
echo "${a##*([^/])}"