mbox ファイルからメールの添付ファイルを抽出するシェル スクリプトを作成しています。
現時点では、次のコマンドを使用しています: cat mboxfile|formail -des munpack -qf
しかし、送信者の電子メールアドレスをファイル名に埋め込みたいのですが、次のようになります。
user@host_filename.extension
おすすめのツールを教えてください。
mbox ファイルからメールの添付ファイルを抽出するシェル スクリプトを作成しています。
現時点では、次のコマンドを使用しています: cat mboxfile|formail -des munpack -qf
しかし、送信者の電子メールアドレスをファイル名に埋め込みたいのですが、次のようになります。
user@host_filename.extension
おすすめのツールを教えてください。
解決済み:
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 スクリプトです。
mbox ライブラリでスクリプト言語を使用してみませんか? 例えば Perl とMail::MBoxモジュール。既製のライブラリを使用すると、多くの悲しみを軽減できます。