4

我在一个文件夹中有多个文件,每个文件都有一封电子邮件。每条消息都有一个格式的标题

Subject: formatting fonts 
To: XXX@XXX.COM 
From: sender 

email body

我怎样才能得到尸体?我可以通过“read XX”之类的方式获取主题,to .. 由于没有“Body:”之类的标签,我现在无法获取电子邮件正文

任何帮助将不胜感激。

4

4 回答 4

8

你想要除了第一段之外的所有内容。sed可以这样做:

sed '1,/^$/d' file.txt

它说的是——从头开始,(1)转到第一行空白(^$——在开头^和结尾之间没有任何内容$)并删除它(d)。

于 2012-09-06T23:36:02.757 回答
1

电子邮件的标题和正文始终由一个空行分隔。您需要阅读(并忽略)所有行,直到看到空白行。文件的其余部分是正文。

于 2012-09-06T23:35:58.753 回答
1

将消息传递到:

| formail -I ''

procmail 包的一部分。

于 2016-08-10T09:10:28.450 回答
0

此解决方案使用pcregrep并匹配主题、至和来自行,然后得到该匹配的逆。

pcregrep -M -v 'Subject.*\nTo.*\nFrom.*\n' file.txt
于 2012-09-07T00:01:15.530 回答