我需要用「」(單個空格)替換文件中的「」(單個空格)「a」作爲變量。 我不明白。以下命令不起作用:如何在SED中使用空格作爲變量
SRC="a" DST=" "; sed -i 's/'$SRC'/'$DST'/g' test.txt
我試過'\',「\」,''等沒有成功。
感謝,
我需要用「」(單個空格)替換文件中的「」(單個空格)「a」作爲變量。 我不明白。以下命令不起作用:如何在SED中使用空格作爲變量
SRC="a" DST=" "; sed -i 's/'$SRC'/'$DST'/g' test.txt
我試過'\',「\」,''等沒有成功。
感謝,
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
你可以試試這個?
$SRC="a" DST=" "; sed -i "s/$SRC/$DST/g" test.txt
shell var將在雙引號之間展開。
謝謝。現在感覺有點愚蠢。 – 2013-03-05 22:29:05
感謝您的解釋。 – 2013-03-05 22:29:25
抱歉再次發生:從「改爲」時出現新問題,我收到「<」的錯誤,真實腳本是:sed -i「20,$ s/$ SRC/$ DST 文件<\/a>/1「test.txt – 2013-03-05 22:58:55
當你使用'」',變量被解釋。所以'$ s'是一個變量。退出'$'('\ $')或者執行:'sed -i '20,$''s/$ SRC ...「' – 2013-03-05 23:00:53