2013-03-08 19 views
1

我有郵件進入處理系統,其中一些已經開始進來以一個無效的空行分裂的電子郵件標題,就像這樣:sed腳本來解決無效的RFC2822郵件標題

Date: Thu, 7 Mar 2013 22:24:44 +0000 
Message-ID: <[email protected]> 
References: <[email protected]> 

Accept-Language: en-US 
Content-Language: en-US 

中間的空白行無效,並導致下游程序出現問題。

我想提出一個簡單的sed腳本來修復任何出現在Accept-Language:.*之前的空白行,以便消除空白行。

回答

1

刪除的文件中的行中的所有空行與sed

sed -i '/^\s*$/d' file 

從文件高達行的開始刪除空行開始Content-Language

sed -i '1,/^Content-Language/{/^\s*$/d}' file 
+0

我不想刪除所有空行。 – dan 2013-03-08 16:56:01

+0

我還在更新我的答案.. – 2013-03-08 16:57:14

+0

抱歉跳槍! – dan 2013-03-08 17:45:11

1
sed '/^[ \t]*$/ {N;/\nAccept-Language: en-US$/! P;D;}' FILE