可能的重复:
将多行字符串插入另一个字符串
我有一个名为的文件,foo.txt其中包含:
富 酒吧 巴兹
我想bar用存储在变量中的多行字符串替换每次出现$bar:
1 2 3
导致:
富 1 2 3 巴兹
我可以awk使用以下方法做到这一点:
echo "$bar" | awk '{
如果(文件名==“-”)
{
如果(我!=“”)
{
我 = 我"\n"
}
我=我$0
}
别的
{
if($0 == "bar")
{
打印我
}
别的
{
打印
}
}
}'
但是,尝试在sedusing 中执行相同操作sed 's/bar/'"$bar"'/' foobar.txt会出现错误:
sed: 1: "s/bar/1 2 3/": 替代模式内未转义的换行符
这可以解决吗?
如果使用其他标准工具有更简单的方法来做到这一点,我也想知道。