我正在编写一个bash脚本,它必须准备一封电子邮件以发送给用户
它聚集了一些数据,最终形成了多行数据。对于存储在$DATA中的示例
现在,经过一点stfw之后,我发现了一些东西,比如sed-ei“s/_data./${data}/g”mail.tpl,还有sed替换为多行变量。它们都不起作用
现在的问题是,如何让sed用多行文本替换某些内容
(也欢迎选择sed)
您可以使用变量替换对AWK执行此操作。我们可以使用-v在AWK中设置一个变量,然后使用AWK的gsub函数用该变量替换正则表达式的所有引用
例如,如果文件test包含以下内容
foo
酒吧
诸如此类的数据_
福
_数据uu foobar u data uu再次
。。。Bash变量$DATA是
1
2.
3.
4.
5.
。。。然后,awk-vr=$DATA'{gsub(/\u DATA\uu/,r)}1'test用$DATA的内容替换文件test中所有出现的正则表达式\u DATA,结果如下:
foo
酒吧
废话1
2.
3.
4.
5和1
2.
3.
4.
5.
福
1.
2.
3.
4.
5 foobar 1
2.
3.
4.
又是5