我需要在文件中用“”(单个空格)替换“a”,将“”(单个空格)替换为变量。 我不明白。以下命令不起作用:
SRC="a" DST=" "; sed -i 's/'$SRC'/'$DST'/g' test.txt
我试过'\',“\”,''等没有成功。
谢谢,
答案 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将在双引号之间展开。