0

mbox ファイルからメールの添付ファイルを抽出するシェル スクリプトを作成しています。

現時点では、次のコマンドを使用しています: cat mboxfile|formail -des munpack -qf

しかし、送信者の電子メールアドレスをファイル名に埋め込みたいのですが、次のようになります。

user@host_filename.extension

おすすめのツールを教えてください。

4

3 に答える 3

1

解決済み:

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 スクリプトです。

于 2010-02-28T13:32:59.673 に答える
1

mbox ライブラリでスクリプト言語を使用してみませんか? 例えば ​​Perl とMail::MBoxモジュール。既製のライブラリを使用すると、多くの悲しみを軽減できます。

于 2010-02-27T17:55:17.303 に答える