首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印procmail中的变量

打印procmail中的变量
EN

Stack Overflow用户
提问于 2012-06-13 15:31:00
回答 1查看 1.4K关注 0票数 1

我有一个procmail方法来过滤传入的邮件,如下所示:

代码语言:javascript
复制
  :0
    *^Subject:.*(test)
    * ? egrep -is -f /root/Procmail/whitelist.txt

    {

    :0 fwb
    | formail -I ""


    :0
    myfolder/
    }

上面的配方功能是过滤出电子邮件的正文内容,并将该邮件转发到myfolder。问题是我有一个变量,我想把它放在身体里。

代码语言:javascript
复制
FROM_=`formail -c -x"From " \
     | expand | sed -e 's/^[ ]*//g' -e 's/[ ]*$//g' \
     | awk '{ print $1 }'`

    SUBJ_=`formail -c -x"Subject:" \
     | expand \
     | sed -e 's/  */ /g' \
     | sed -e 's/^[ ]*//g' -e 's/[ ]*$//g'`

此电子邮件正文(连同变量)应转发到myfolder。

我试着像这样回显变量,但仍然没有用。

代码语言:javascript
复制
:0 fwb
 echo "${SUBJ_}"
 echo "{FROM_}"

我的食谱有问题吗?有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-14 15:23:00

您需要通过管道进入shell脚本。没有前缀的操作保存到名为"echo“的文件夹中。

您还缺少${FROM_}变量上的美元符号。

代码语言:javascript
复制
:0 fwb
| ( echo "${SUBJ_}";  echo "${FROM_}" )

你的任务可能会得到很大的优化。很少需要通过管道将sed连接到sedawk;如果sed无法处理您想要的内容,那么就让awk来完成所有工作。

代码语言:javascript
复制
FROM_=`formail -c -x"From " \
 | expand \
 | awk '{ gsub (/^[ ]*|[ ]*$/,""); print $1 }'`

SUBJ_=`formail -c -x"Subject:" \
 | expand \
 | sed -e 's/  */ /g' -e 's/^[ ]*//g' -e 's/[ ]*$//g'`

(我也不确定为什么需要expand,但我把它留在那里以防万一。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11010112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档