1

我有电子邮件进入处理系统,其中一些已经开始使用无效的空白行分隔电子邮件标题,如下所示:

Date: Thu, 7 Mar 2013 22:24:44 +0000
Message-ID: <86A1035194F72547A2979A7767CD3BAF35485B8D@QTS-MB02.ecicloud.com>
References: <C0DA0966847B31409025BBD9A70187DA35399D17@QTS-MB02.ecicloud.com>

Accept-Language: en-US
Content-Language: en-US

中间的空行无效,给下游程序带来问题。

我想提出一个简单的sed脚本来修复任何出现的特别Accept-Language:.*是空行之前的情况,从而消除空行。

4

3 回答 3

1

删除文件行中的所有空行sed

sed -i '/^\s*$/d' file

从文件的开头删除空白行到开头的行Content-Language

sed -i '1,/^Content-Language/{/^\s*$/d}' file
于 2013-03-08T16:53:46.460 回答
1
sed '/^[ \t]*$/ {N;/\nAccept-Language: en-US$/! P;D;}' FILE
于 2013-03-08T17:45:52.747 回答
0

您应该真正查看用于处理电子邮件的 formail 和 procmail 命令。请参阅http://www.procmail.org/http://linuxcommand.org/man_pages/formail1.html

于 2013-03-09T15:22:02.827 回答