echo "A number is about to show up 1 and now I want to parse 365 guys and some extra junk" | sed -E 's/.*([0-9]+) guys.*/\1/g'
上述命令目前輸出的只是5
。本質上,我想用一個隨機句子來解析「球員」的數量,這個球員可以有數字(或者不是。我還想解析一下echo "365 guys"
)。我的.*
與36
匹配,並且阻止它出現在\1
中。我如何編寫sed命令(或任何其他正則表達式/ perl/awk)來完成我想要的?如何克服貪婪的匹配所有事情後再尋找一個特定的字符串?
沒有理由讓'。*'完全在那裏 – Borodin
@Borodin:有,你想替換它。當然還有其他方法來解決這個問題。 – choroba
啊,我還沒有發現這是一個替代 – Borodin