首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于修复无效RFC2822电子邮件标题的sed脚本

用于修复无效RFC2822电子邮件标题的sed脚本
EN

Stack Overflow用户
提问于 2013-03-09 00:35:46
回答 3查看 97关注 0票数 1

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

代码语言:javascript
运行
复制
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:.*,前面有一个空行,这样就消除了空行。

EN

回答 3

Stack Overflow用户

发布于 2013-03-09 00:53:46

使用sed删除文件中某一行中的所有空行

代码语言:javascript
运行
复制
sed -i '/^\s*$/d' file

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

代码语言:javascript
运行
复制
sed -i '1,/^Content-Language/{/^\s*$/d}' file
票数 1
EN

Stack Overflow用户

发布于 2013-03-09 01:45:53

代码语言:javascript
运行
复制
sed '/^[ \t]*$/ {N;/\nAccept-Language: en-US$/! P;D;}' FILE
票数 1
EN

Stack Overflow用户

发布于 2013-03-09 23:22:03

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

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

https://stackoverflow.com/questions/15298878

复制
相关文章

相似问题

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