這是一個bug還是有解釋?Sed命令 - 選項標記的順序很重要? (-ir vs -ri)
請注意,我不是在尋找的解決方法,而是爲什麼-ir
和-ri
事項的順序...
試想存儲在文件中以下數據data.txt
1, StringString, AnotherString 545
2, StringString, AnotherString 723
3, StringString, AnotherString 610
4, StringString, AnotherString 118
5, StringString, AnotherString 482
所需的字符串轉換
Replace "StringString" with "Strung"
用下面的代碼
sed -ir 's/String+/Strung/g' data.txt <-- won't work
sed -ri 's/String+/Strung/g' data.txt <-- will work
我看不出有任何理由選項標誌的順序會事?任何解釋?
圖片的標題說明:開關-i
「編輯代替文件」,同時允許-r「擴展 正則表達式」(允許+
操作者)。在Ubuntu 12.10上運行sed 4.2.1 2010年12月。
做!噢,我剛剛在目錄中找到了名爲「data.txtr」的文件 - 該文件是作爲備份創建的。我期待有一個空間來分開後綴,但現在它是有道理的。 – somethis