gpt4 book ai didi

linux - 在 procmail 中打印出变量

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:50 24 4
gpt4 key购买 nike

我有一个 procmail 配方来过滤收到的邮件,如下所示:

  :0
*^Subject:.*(test)
* ? egrep -is -f /root/Procmail/whitelist.txt

{

:0 fwb
| formail -I ""


:0
myfolder/
}

上面的recipe函数是过滤掉邮件的正文内容,将邮件转发到myfolder。问题是我有一个变量要放入体内。

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。

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

:0 fwb
echo "${SUBJ_}"
echo "{FROM_}"

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

最佳答案

您需要通过管道输入 shell 脚本。在您的例子中,没有前缀的操作将保存到名为“echo”的文件夹。

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

:0 fwb
| ( echo "${SUBJ_}"; echo "${FROM_}" )

您的作业可能会得到相当大的优化。很少需要将 sed 传输到 sedawk;如果 sed 无法处理您想要的内容,则让 awk 完成所有工作。

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 在那里,但我把它留下以防万一。)

关于linux - 在 procmail 中打印出变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11010112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com