2013-08-16 26 views
1
in folder 
asdasdasd.msg 
asdasd.msg 
twadasf.msg 
... 
... 
... 

* .msg文件示例電子郵件內容=>電子郵件內容上的shell腳本解析獲取的電子郵件地址

Date: Wed, 03 Aug 2011 11:20:59 +0300 (EEST) 
From: Email Account Name =?utf-8?B?R8OcTkRPxJ5EVQ==?= <[email protected]> 
To: Different Email Account Name <[email protected]> 
Subject: Re: Web Anketi 
Message-ID: <[email protected]> 
In-Reply-To: <[email protected]> 
Content-Type: text/plain; charset=utf-8 
Content-Transfer-Encoding: quoted-printable 
MIME-Version: 1.0 
X-Originating-IP: [10.199.16.77] 
.... 

run.sh腳本:

for line in `sed 's/\(<\)\(.*\)\(@sample.com>\)/\2/'` *.msg 
    do 
     echo $line 
    done 

我的問題是獲得的電子郵件地址列表< @ sample.com>? 獲取所有電子郵件地址列表?*

回答

0

使用bash for循環讀取所有* .msg文件。 sed -n禁止輸出模式的所有不匹配項。 sed命令末尾的p標誌將打印出替代文本。

for file in *.msg 
do 
    sed -n 's/^.*\(<\)\(.*\)\(@posta.sample.com>\)/\2/p' $file 
done 
+0

謝謝:) 如何導致定義ArrayList變量? –

+0

我不確定你想要做什麼。 bash數組很容易使用,或將結果存儲在一個文件中。如果遇到困難,最好通過在stackoverflow上提出另一個問題來解決問題。 – suspectus

0

感謝的人:)

進行加工代碼

for file in *.msg 
do 
    sed -n 's/^.*\(<\)\(.*\)\(@posta.sample.com>\)/\2/p' $file 
done 

如何導致定義ArrayList的變量?