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##*([^/])}"