2013-11-22 132 views
0

的問題是,除了他們沒有在匹配模式中提到的sed刪除單引號:在牛羚的sed刪除單引號

dd w ddd 

你對此有何解釋

echo "aaa 'w' ddd" | sed -r 's/aaa/echo dd/ge' 

結果?

回答

3

最後的「e」造成它。從本質上講,你要求sed做到這一點:

echo dd 'w' ddd 

這將產生你看到的結果。你可以這樣做:

echo $(echo "aaa 'w' ddd" | sed -e 's/aaa/dd/g') 
+0

爲了更好的理解,我建議添加一個[鏈接到文檔](http://www.gnu.org/software/sed/manual/sed.html#The -0022s_0022-命令)在這個特殊的標誌。 – Bentoy13

+2

'echo $(...)'是多餘的 – jkshah

+0

jkshah:是的,你是對的。我最初使用RES = $(echo「aaa'w'ddd」| sed -e's/aaa/dd/g')做了一個2步驟的方法; echo $ RES,但隨後決定OP可能不需要存儲在變量中的結果,所以我放棄了該變量並回顯了$(...)!!!的結果 –