0

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

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

我尝试了'\',“\”,''等但没有成功。

谢谢,

4

2 回答 2

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
于 2013-03-05T22:16:32.603 回答
1

你能试试这个吗?

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

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

于 2013-03-05T22:16:46.430 回答