#!/usr/bin/env ruby $KCODE="EUC" #$/ = "\n" #$, = "," # if ARGV[0] == nil STDERR.puts "引数が足りません" STDERR.puts "例:./rubyprog/cl2moneycsv-kamoku.rb ~/trunk/ChangeLog" exit 0 end # 費目 an item of expendidure #my @lioe = ('外', '食', '交', '遊', '本', '音', '雑', '衣', '他') lioe = ["外","食","交","遊","本","音","雑","衣","他"] #lioe = %w(外 食 交 ) inside_flag = 0 kamo = [] k = 0 entry = {} p lioe #while line = ARGF.gets while line = gets # print line if /^((\d{4}-\d\d)-\d\d)/ =~ line then # 日付をキープ # if /^((\d{4}-\d\d)-\d\d)/ and /^((2005-\d\d)-\d\d)/ =~ line then # 日付をキープ date = $1 # = year-month-day # $date =~ s|-|.|g # for Excel # p date elsif /買#物ログ.*:/ =~ line then # 家計簿データ記述ブロックの始まり inside_flag = 1 tag = $& elsif inside_flag == 1 then # ブロック内 if /^\s*$/ =~ line and inside_flag == 1 then # ブロックの終わり inside_flag = 0 else /^\t(.+?)(\s|\xa1\xa1).*(\s|\xa1\xa1)(\d+)$/ =~ line yo = line.split(nil) # kamoku = $1 # naiyou = $2 # kingaku = $3 kamoku = yo[0] naiyou = yo[1] kingaku = yo[2] sonota = yo[3] kamo.push(yo[0]) kamo.uniq! p kamo # p date,tag,line.chomp.split(nil) # if /2005-\d\d-\d\d/ =~ date then # print date,",",tag,",",kamoku,",",naiyou,",",kingaku,"\n" # end end end end<<