2012-09-06 70 views
4

我在一個文件夾中有多個文件,每個文件都有一個電子郵件。每封郵件都有一個標題格式爲Bash,從包含電子郵件的文本文件中獲取電子郵件正文

Subject: formatting fonts 
To: [email protected] 
From: sender 

email body 

我該如何得到身體?我可以通過諸如「read XX」之類的東西來獲得這個主題.. 由於沒有像「Body:」這樣的標籤,我現在無法獲得電子郵件正文

任何幫助將不勝感激。

回答

8

你想要的只是第一段。 sed可以這樣做:

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

什麼它說的是 - 創業之初,(1)進入到第一線這是空白(^$ - 已開始^和結束$之間沒有任何東西),並刪除它(d)。

1

電子郵件的標題和正文總是由一個空行分隔。您需要閱讀(並忽略)所有行,直到看到空白行。文件的其餘部分是正文。

+0

根據RFC 2822,我可能會添加。 – g33kz0r

0

此解決方案使用pcregrep並匹配主題,來自行和來自行,然後獲取該匹配的反轉。

pcregrep -M -v 'Subject.*\nTo.*\nFrom.*\n' file.txt 
0

管消息分成:所述的procmail包的

| formail -I '' 

一部分。

相關問題