我正在寫一個shell腳本從一個MBOX文件shell腳本來提取郵件附件的具體文件名
目前提取郵件附件我使用這個命令:cat mboxfile | FORMAIL - 脫munpack -qf
但我想在文件名中嵌入發件人的電子郵件地址,是這樣的:
[email protected]_filename.extension
您能否提供我一些工具?
我正在寫一個shell腳本從一個MBOX文件shell腳本來提取郵件附件的具體文件名
目前提取郵件附件我使用這個命令:cat mboxfile | FORMAIL - 脫munpack -qf
但我想在文件名中嵌入發件人的電子郵件地址,是這樣的:
[email protected]_filename.extension
您能否提供我一些工具?
爲什麼不在mbox庫中使用腳本語言?例如Perl和Mail::MBox模塊。使用現成的圖書館可能會爲你節省很多的痛苦。
解決:
cat $MBOX|formail -des ../dumpFile.sh # split the mbox in many messages
for mail in * # cycle on every message
do
echo ===========================
FROM=$(../extractFrom.sh $mail |tr -d "<"|tr -d ">"|tr -d "/" |sed 's/@/-AT-/'|tr "." "-"|sort|uniq) # get address
for file in $(munpack $mail |cut -f1 -d" "|tr -s "_" "-") # extract attachments and prepend address
do
echo ln $file utente:${FROM}_tipo:$file # whatever
done
done
其中dumpFile.sh就是:
cat >$(mktemp -p .)
和extractFrom.sh是awk腳本來獲取電子郵件地址
,因爲我不知道perl;) 首先,我想找到一個shell解決方案... – atrent 2010-02-27 18:18:03
我建議學習一個更強大的腳本語言。不一定是Perl - 也許Ruby/Python等?但我明白,這並不能幫助你。 – 2010-02-27 19:19:14
我想我會去蟒蛇... 謝謝 – atrent 2010-02-28 13:33:59