【发布时间】:2012-04-23 20:20:49
【问题描述】:
我正在编写一个 bash 脚本,该脚本必须准备发送给用户的电子邮件。
它聚合了一些数据,最终形成多行数据。对于存储在$DATA中的示例。
现在,经过一些 stfw,我发现了一些东西,例如 sed -ei "s/_data_/${DATA}/g" mail.tpl 和 sed replace with variable with multiple lines。它们都不起作用。
现在的问题是,如何让sed 用多行文本替换某些内容?
(也欢迎sed 的替代品!)
【问题讨论】:
-
@ZsoltBotykai 你不说? :D 我什至在我的问题中提到了它......
-
顺便说一句,不要为您的私有 shell 变量使用大写。
-
@tripleee 为什么不呢?
-
因为这样可以避免与保留变量(大写)发生意外冲突。对于这确切的含义没有达成共识,但是您的脚本的私有变量绝对不是POSIX本条款中所预期的“系统变量”。见stackoverflow.com/q/673055/874188