如果我想從字符串中刪除第一個句點及其後面的所有內容,在sed
中我可以例如這樣做:替換第n個正則表達式的問題
echo 2.6.0.3-8 | sed 's/\..*//'
輸出:
2
但是,如果我想刪除第二個時期,一切背後,我想我應該可以做這樣的(GNU SED):
echo 2.6.0.3-8 | sed 's/\..*//2g'
然而輸出爲:
2.6.0.3-8
從手冊:
'NUMBER' 只有更換REGEXP的NUMBERth比賽。
我在這裏錯過了什麼?
你錯過了它是貪婪的。 '。*'是在吞噬一切,沒有第二個匹配。你可以使用'[^。] *'效果好於'。*' – stevesliva