使用 sed 将一行的一部分替换为变量

使用 sed 将一行的一部分替换为变量

所以现在我有一个变量

var1='batman'

我还有一个文件,wrong.txt内容如下

John="Superman lives in Gotham City."
John="Superman's parents were killed in Crime Alley."
James="Superman does not have a bat-mobile."

现在我想使用 sed 更改文件的内容。显然,我需要用蝙蝠侠取代超人。我尝试使用 sed 执行此操作,但没有对文件进行任何更改。

这是我所做的

sed -i -e "s/John=\"Superman/John=\"$var1/g" wrong.txt

答案1

sed 's/^\(John="\)Superman/\1'"$var1/g" <in file

...应该可以工作。

相关内容