1
我試圖通過刪除由某些分隔符分隔的子字符串來操縱shell中的字符串。目前,我有如下的通配符一些意外的行爲:Shell字符串操作,通配符範圍
string='start.badstuff.goodstuff.end'
echo ${string/bad*.} #start.end
在上面的例子說,我知道,我設法消除與'bad'
所有這一切我想刪除開始,然後隨機'stuff.'
的子字符串。然而,我想保留字符串'goodstuff'
,但在本例中,通配符采用最寬的範圍而不是最窄的範圍(以*='stuff.goodstuff'
代替所需的行爲*='stuff'
)。
有沒有辦法限制通配符的範圍在'badstuff'
之後的第一個'.'
處停止,而不知道'goodstuff'
可能是什麼?