Как изменить формат даты в текстовом файле?

У меня есть текстовый файл в формате:

04-01-2010 13:25
Lorem Ipsum...
03-28-2010 15:21
Lorem Ipsum...

и т.д.

И я хочу изменить формат даты, чтобы она выглядела так:

2010-04-01 13:25
Lorem Ipsum...
2010-03-28 15:21
Lorem Ipsum...

и т.д.

Проблема, с которой я столкнулся, заключается в том, что я не могу передать регулярное выражение непосредственно процедуре, и я не знаю, как еще это сделать. И код, кажется, вообще не пишет в файл. Вот мой код:

def dateFix(dateLine)
    dateLine = dateLine.split('-')
    newDate = dateLine.slice(2), dateLine.slice(0), dateLine.slice(1)
    newDate = newDate.join('-')
end

@reg = /\b\d\d-\d\d-\d\d\d\d\b/

File.open('some_file.txt', "r+") { |file| 
    file.each_line { |line|
        date = line if line == @reg
        if date
            file.puts line.gsub(date, dateFix(date))
        end
    }
}
0
задан the Tin Man 7 March 2012 в 17:25
поделиться