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