バリケンのRuby日記 RSSフィード

2007-10-04

[] mbox2eml.rb  mbox2eml.rb - バリケンのRuby日記 を含むブックマーク はてなブックマーク -  mbox2eml.rb - バリケンのRuby日記  mbox2eml.rb - バリケンのRuby日記 のブックマークコメント

mbox形式のメールファイルをemlファイルに切り出すスクリプト、mbox2eml.rbを作ってみたよ。

ちなみにmbox形式はThunderbirdとかで使われているよ。emlファイルはWindowsのOutlook Expressとかで利用できるよ。

基本的にはこちらPerl版をRuby移植しただけだよ。

count = 0
flag = true
f = nil

while gets
  if flag && ($_ =~ /^From\s/)
    f.close if f
    count += 1
    f = open("#{count.to_s.rjust(4, '0')}.eml", 'w')
    next
  end
  f.puts($_)
  flag = ($_ =~ /^$/)
end
f.close

なんかもっとスマートに書けそうな気もするけど、またこんど。

使い方

コマンドプロンプトで、

$ ruby mbox2eml.rb < [mbox形式のメールファイル]

とすることで、「0001.eml」「0002.eml」‥‥というファイルに切り出していくよ。

トラックバック - http://rubyist.g.hatena.ne.jp/muscovyduck/20071004