有沒有人知道如何匹配sed每個'foo'實例,當它在下面的字符串中'bar'後面?如何加密一個字符串,當沒有跟隨另一個sed
「富 噓聲 FOO FOO 酒吧FOO FOO 富 '
期望的結果(以粗體匹配實例)
' 匹配 噓聲 匹配 FOO 酒吧匹配 匹配 匹配'
測試一個很大的數目後,我發現:
sed -e "s/foo\(*\)bar/FOO\1BAR/g" -e "s/foo/MaTcHeD/g" -e "s/FOO\(*\)BAR/foo\1bar/g"
它首先與'foo bar'實例匹配,並用一些臨時字符串(這裏是'FOO BAR')替換它們,然後在將'foo bar'實例替換爲原始實體之前匹配靜態'foo'實例版本......(我希望我很清楚......)
但是,無論如何,這是不乾淨的。即使我目前還沒有找到它,我也會感到驚訝的是,沒有更直接的方法來做到這一點。
任何提示,將不勝感激。 :-)
非常感謝你,
與常規分隔字符串?例如空間或標籤?我的意思是,'foo酒吧'部分有固定的空間嗎? – Kent 2013-03-01 15:08:33
是必須的嗎? – Kent 2013-03-01 15:12:31
分隔符包含可變數量的空格(但僅限空格)。 只要我可以用別的東西替換匹配的事件,但不修改空格字符分佈,Sed就不是必須的。 – taalf 2013-03-01 15:19:27