我正在写一个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