我有一些电子邮件进入处理系统,其中一些电子邮件已经开始以无效的空行分隔电子邮件标题,如下所示:
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:.*,前面有一个空行,这样就消除了空行。
发布于 2013-03-09 00:53:46
使用sed删除文件中某一行中的所有空行
sed -i '/^\s*$/d' file删除从文件开头到Content-Language开头的空行
sed -i '1,/^Content-Language/{/^\s*$/d}' file发布于 2013-03-09 01:45:53
sed '/^[ \t]*$/ {N;/\nAccept-Language: en-US$/! P;D;}' FILE发布于 2013-03-09 23:22:03
您真的应该看看用于处理电子邮件的formail和procmail命令。参见http://www.procmail.org/和http://linuxcommand.org/man_pages/formail1.html。
https://stackoverflow.com/questions/15298878
复制相似问题