2013-03-05 42 views
0

我需要用「」(單個空格)替換文件中的「」(單個空格)「a」作爲變量。 我不明白。以下命令不起作用:如何在SED中使用空格作爲變量

SRC="a" DST=" "; sed -i 's/'$SRC'/'$DST'/g' test.txt 

我試過'\',「\」,''等沒有成功。

感謝,

回答

3
sed -i 's/'$SRC'/'$DST'/g' test.txt 

是完全一樣的:

sed -i 's/a/' '/g' test.txt 

所以你逝去的兩個不同參數的sed。你可以這樣做:

sed -i "s/$SRC/$DST/g" test.txt 

,但如果你堅持要用sed它可能會更好做:

sed -i "y/$SRC/$DST/" test.txt 
+0

感謝您的解釋。 – 2013-03-05 22:29:25

+0

抱歉再次發生:從「改爲」時出現新問題,我收到「<」的錯誤,真實腳本是:sed -i「20,$ s/$ SRC/$ DST 文件<\/a>/1「test.txt – 2013-03-05 22:58:55

+1

當你使用'」',變量被解釋。所以'$ s'是一個變量。退出'$'('\ $')或者執行:'sed -i '20,$''s/$ SRC ...「' – 2013-03-05 23:00:53