bash用多行替换mime占位符
我有一封MIME格式的电子邮件模板,电子邮件正文的一部分是占位符bash用多行替换mime占位符,bash,sed,mime,Bash,Sed,Mime,我有一封MIME格式的电子邮件模板,电子邮件正文的一部分是占位符${result} <body> <p>${result}</p> </body> 我还有几个占位符需要替换(只是一个短字符串或一个单词),因此我使用了以下sed命令,但它返回了一个错误: sed -e "s/\${subject}/$1/" \ -e "s/\${client}/$NAME/" \ -e "s/\${result}/$RESULT
${result}
<body>
<p>${result}</p>
</body>
我还有几个占位符需要替换(只是一个短字符串或一个单词),因此我使用了以下sed
命令,但它返回了一个错误:
sed -e "s/\${subject}/$1/" \
-e "s/\${client}/$NAME/" \
-e "s/\${result}/$RESULT/" temp-email > client-email
错误:
sed: -e expression #3, char 64: unterminated `s' command
我知道这与\n
有关,但我刚刚开始学习bash和MIME,不知道如何用$RESULT
替换占位符
提前感谢您可以在参数扩展中用
\n
的usin替换换行符
RESULT=${RESULT//$'\n'/'\n'}
或者使用Perl来处理替换中的换行符:
CLIENT=$NAME RESULT=$RESULT SUBJECT=$1 perl -pe '
s/\${(subject|client|result)}/$ENV{ uc $1 }/g'
您可以在参数扩展中用
\n
的usin替换换行符
RESULT=${RESULT//$'\n'/'\n'}
或者使用Perl来处理替换中的换行符:
CLIENT=$NAME RESULT=$RESULT SUBJECT=$1 perl -pe '
s/\${(subject|client|result)}/$ENV{ uc $1 }/g'
请您也在您的帖子中发布预期输出好吗?我想用上面的表替换
${result}
,该表已经存储在$result
中,因为字符串。您也可以在您的帖子中发布预期输出吗?我想用上面的表替换${result}
,该表已作为字符串存储在$RESULT
中