如何使用空格作为SED变量

时间:2013-03-05 22:12:44

标签: bash sed

我需要在文件中用“”(单个空格)替换“a”,将“”(单个空格)替换为变量。 我不明白。以下命令不起作用:

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

我试过'\',“\”,''等没有成功。

谢谢,

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

你能试试吗?

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

shell var将在双引号之间展开。