1
我试图通过删除由某些分隔符分隔的子字符串来操纵shell中的字符串。目前,我有如下的通配符一些意外的行为:Shell字符串操作,通配符范围
string='start.badstuff.goodstuff.end'
echo ${string/bad*.} #start.end
在上面的例子说,我知道,我设法消除与'bad'
所有这一切我想删除开始,然后随机'stuff.'
的子字符串。然而,我想保留字符串'goodstuff'
,但在本例中,通配符采用最宽的范围而不是最窄的范围(以*='stuff.goodstuff'
代替所需的行为*='stuff'
)。
有没有办法限制通配符的范围在'badstuff'
之后的第一个'.'
处停止,而不知道'goodstuff'
可能是什么?