"X-Evolution:" ヘッダーのみが異なるメッセージの複製コピーを含む mbox メールボックスを持っています。
できるだけ迅速かつ簡単な方法で、重複したものを削除したいと思います。これはすでに書かれているようですが、Python メールボックス モジュール、さまざまな perl mbox パーサー、formail などを見てきましたが、見つかりませんでした。
誰か提案はありますか?
"X-Evolution:" ヘッダーのみが異なるメッセージの複製コピーを含む mbox メールボックスを持っています。
できるだけ迅速かつ簡単な方法で、重複したものを削除したいと思います。これはすでに書かれているようですが、Python メールボックス モジュール、さまざまな perl mbox パーサー、formail などを見てきましたが、見つかりませんでした。
誰か提案はありますか?
「formail -D」および「reformail -D」は、実行ごとに 1 つの電子メールしか処理できません。各メールは、処理する前にまず mbox から分離する必要があります。私は代わりに maildrop の reformail を使用しています。これはまだ活発に開発されているためです。
dedup.sh
#! /bin/sh
# $1 = mbox, thunderbird mailbox
# wmbox.sh is called for each mail.
cat $1 | reformail -s ./wmbox.sh
wmbox.sh
#! /bin/sh
# stdin: a email
# called by dedup.sh
TM=tmpmail
if [ -f $TM ] ; then
echo error!
exit 1
fi
cat > $TM
# mbox format, each mail end with a blank line
echo "" >> $TM
cat $TM | reformail -D 99999999 idcache
# if this mail isn't a dup (reformail return 1 if message-id is not found)
if [ $? != 0 ]; then
# each mail shall have a message-id
if grep -q -i '^message-id:' $TM; then
cat tmpmail >> nmbox
fi
fi
rm $TM
formail (procmail の一部) を十分に詳しく調べていませんでした。http://hints.macworld.com/comment.php?mode=view&cid=115683やhttp://us.generation-nt.com/answer/deleting- _ _ _ duplicate-mail-messages-help-172481881.html