0
工作,如果我運行的sed使用以下使用sed不變量值
sed -i -e 's/a.b.c/l.m.n/g' file.txt
它工作正常。然而 做
OLD="a.b.c"
NEW="l.m.m"
sed -i -e 's/$OLD/$NEW/g' file.txt
創建了名file.txt的-E的新文件,並沒有做更換
工作,如果我運行的sed使用以下使用sed不變量值
sed -i -e 's/a.b.c/l.m.n/g' file.txt
它工作正常。然而 做
OLD="a.b.c"
NEW="l.m.m"
sed -i -e 's/$OLD/$NEW/g' file.txt
創建了名file.txt的-E的新文件,並沒有做更換
你使用單引號,當你需要雙引號:
sed -i -e "s/$OLD/$NEW/g" file.txt
也請記住,將.
放入變量中並不會從正則表達式的角度轉義它。所以這將匹配a.b.c
和aJbKc
以及所有那些有趣的東西。
確實;我的[這個答案](http://stackoverflow.com/a/29613573/45375)顯示如何一般性地使用'sed'(使用單獨的'sed'命令)將變量值作爲文字使用。 – mklement0