我得到如下字符串:
text="abcdef"gfijk"lmno"
我如何提取最后两个"-"之间的文本所以我只得到lmno?
我试着用&但没有成功
sub_text=${text&"*}
echo ${sub_text&"*}
这可以通过参数扩展轻松完成。
首先,用${var%pattern}
删除最后一个引号,这将从$var
:的末尾删除pattern
的最短匹配
result=${text%'"'} # result="abcdef"gfijk"lmno
然后,用${var##pattern}
删除从开始到最后一个剩余引号的所有内容,这将从$var
:的开始删除pattern
的最长匹配
result=${result##*'"'} # result=lmno
然后你就到了:
echo "$result"