web-dev-qa-db-ja.com

Maildirから重複メッセージを削除する

IMAPサーバーのMaildirに重複したメッセージがたくさんあります。それらを削除する最良の方法は何ですか?

関連するポイント:

  • 共有メッセージIDは通常、複製の十分な定義です。重複するメッセージの1つを除くすべてを削除する小さなスクリプトが機能します。
  • 場合によっては、共有メッセージ本文に基づいて重複を見つける必要があります。ここで共有の合理的な定義は何ですか?ビット単位で同等ですか?行の折り返し、エスケープ、文字エンコーディングの奇妙な違いはどうですか?
  • 「重複」メッセージには、意味のある違いがある場合があります。 「重複」メッセージのセットの違いを確認する最良の方法は何ですか?差分?
10
Joseph Holsten

上記のKevinのスクリプトにいくつかの大幅な改善を加えましたが、彼は私のプルリクエストを受け入れるのに十分親切でした。最終的には、これを専用のプロジェクトに分割し、ここで見つけることができます。

https://github.com/kdeldycke/maildir-deduplicate

6
Adam Spiers

linuxでの一般的なファイルの場合、fdupes utilsを使用して重複ファイルを削除します。 Maildirメッセージでも機能することがわかりました。

3
sarabande

Gnome's Evolution [グラフィカルメールユーザーエージェント]には、重複メールを削除する機能が組み込まれています。この ヘルプページ で説明されているように、要約すると:

  1. 疑わしいメッセージ(またはすべてのメッセージ)を選択します
  2. メニューに移動メッセージ、選択重複メッセージの削除を選択します。

ボイラ。

追伸Evolutionはローカル(MailDir、MH、Mbox)またはIMAP経由でメッセージにアクセスできます。

0
Franklin Piat

今日私が見つけた最高のものは、ケビン・デルダイクの maildir-deduplicate です。

  • デフォルトではX-MIMETrackヘッダーを無視し、SHA224ダイジェストを使用してヘッダーを比較します。
  • 確認を求めずに重複を自動的に削除します。ただし、どの複製が削除されるかをプレビューできる模擬モードがあります。

私は誰かがリック・サンダースの delIMAPdups.pl から何か面白いものを作ることができるに違いない、彼の IMAPツール の一部です。

0
Joseph Holsten