![在 BSD sed 中同时使用变量和换行符?](https://linux22.com/image/79317/%E5%9C%A8%20BSD%20sed%20%E4%B8%AD%E5%90%8C%E6%97%B6%E4%BD%BF%E7%94%A8%E5%8F%98%E9%87%8F%E5%92%8C%E6%8D%A2%E8%A1%8C%E7%AC%A6%EF%BC%9F.png)
例如我可以这样做
sed 's/\>\</\>\
</g'
替换><
为
>
<
但是,假设我想要一个变量,如下所示:
sed 's/\>\</\>\
<$1/g'
它会将其解释为字面意思$1
。为了解决这个问题,我使用"
而不是'
.
像这样:
sed "s/\>\</\>\
<$1/g"
但当我使用时它不理解换行符"
。\n
也不行。
答案1
我不确定这背后有什么引用之谜,但如果单引号有助于换行,您可以与变量的双引号混合和匹配:
sed 's/></>\
<'"$1/g"