我在一個文件夾中有多個文件,每個文件都有一個電子郵件。每封郵件都有一個標題格式爲Bash,從包含電子郵件的文本文件中獲取電子郵件正文
Subject: formatting fonts
To: [email protected]
From: sender
email body
我該如何得到身體?我可以通過諸如「read XX」之類的東西來獲得這個主題.. 由於沒有像「Body:」這樣的標籤,我現在無法獲得電子郵件正文
任何幫助將不勝感激。
我在一個文件夾中有多個文件,每個文件都有一個電子郵件。每封郵件都有一個標題格式爲Bash,從包含電子郵件的文本文件中獲取電子郵件正文
Subject: formatting fonts
To: [email protected]
From: sender
email body
我該如何得到身體?我可以通過諸如「read XX」之類的東西來獲得這個主題.. 由於沒有像「Body:」這樣的標籤,我現在無法獲得電子郵件正文
任何幫助將不勝感激。
你想要的只是第一段。 sed
可以這樣做:
sed '1,/^$/d' file.txt
什麼它說的是 - 創業之初,(1
)進入到第一線這是空白(^$
- 已開始^
和結束$
之間沒有任何東西),並刪除它(d
)。
電子郵件的標題和正文總是由一個空行分隔。您需要閱讀(並忽略)所有行,直到看到空白行。文件的其餘部分是正文。
此解決方案使用pcregrep
並匹配主題,來自行和來自行,然後獲取該匹配的反轉。
pcregrep -M -v 'Subject.*\nTo.*\nFrom.*\n' file.txt
管消息分成:所述的procmail包的
| formail -I ''
一部分。
根據RFC 2822,我可能會添加。 – g33kz0r