Hyper Estraierはかなり速い。
なので情報を全てHyper Estraierにぶち込んでみたくなってきた。
先日、EudoraのメールボックスをThunderbirdに変換した。しかし、Thunderbirdの検索は、すごく速いわけではない。さらに10年分の本文検索をかけると、やはりかなり時間がかかる。
ということで、メールをHyper Estraierで検索させてみたい。
しかし、mboxでは1メールボックス1ファイルなのでよろしくない。1メール1ファイルのmh形式にすべきなのだ。
変換、というか、ぶった切るには、mh付属の内部コマンドincmを使うと良いらしい。mboxだろうとmhだろうと取り込み可能なのだそうな。
で、mhってどこにあるんだ?とWebを探してみると、Mac OS Xで動くやつはCarbon Emacsの中に入っていた。
http://homepage.mac.com/zenitani/emacs-j.html
このEmacs.appパッケージ内を探すと、Emacs.app/Contents/MacOS/bin/incmにバイナリファイルがあった。
これをコピーしてきて、mboxファイルと同じ場所に移してきた。
試しに変換してみる。先にmh形式のファイルを入れるフォルダを作っておく。
incm -b -d 元のmboxファイル -i 目的のmhフォルダ
はい、ぶった切ってくれました。
しかし、メールは素のままなので、大半はJISなのだがUTF-8のものもあり。一番手強いのが、日本語のくせに「quoted-printable」なもの。miでもJeditでも読めない…。
nkfを通せば変換可能なのは分かったのだけど、もちろんMacにはまだ入っていない。MacPortsにはあるようなので、入れてみることにしよう。
MailKanjiFixerが懐かしい…。
追記:
http://hyperestraier.sourceforge.net/uguide-ja.html#formats
を見ると、Hyper EstraierはMIMEデコードをするらしい。
デフォルトでは、ファイル名の接尾辞が「.eml」「.mime」「.mht」「.mhtml」の場合にMIMEとして扱われます。
estcmd gather […] db [file|dir]
ファイルシステムを探索して文書を登録します。
(中略)
-fmを付けると、処理対象の全てのファイルをMIMEとして扱います。
.mimeとするか、収集の時に-fmを付けるか、ですな。あとポイントは
MIMEにはDateヘッダがありますので、-sdオプションでファイルの更新時刻を持ってくる必要はありません。
というところか。