ワンライナー

頼まれてその場でワンライナー書いたらモテた(男2人に)。

$ cat sample.txt
     2005  '1'                   '1101'                '510100'              '133591500'                 ¥3,210,000.00        ¥3,210,000.00                ¥0.00                ¥0.00                ¥0.00        ¥3,210,000.00        ¥3,210,000.00                ¥0.00        ¥3,210,000.00        ¥3,210,000.00                ¥0.00                ¥0.00                ¥0.00  11:44:53 PM 02/28/2005
     2005  '1'                   '1101'                '510300'              '119110300'                ¥40,000,000.00       ¥40,000,000.00                ¥0.00                ¥0.00                ¥0.00       ¥33,293,333.00       ¥33,293,333.00                ¥0.00       ¥33,293,333.00       ¥33,293,333.00                ¥0.00                ¥0.00                ¥0.00  08:20:04 PM 04/20/2005

(数字もコードも変換してあるから大丈夫よ)

$ ruby -ne 'puts $_.chomp.strip.split(/ +/).map{|e| e.delete(",").gsub("¥", "").gsub(/(\d+)\.0+/){$1} }.join(",")' sample.txt
2005,'1','1101','510100','133591500',3210000,3210000,0,0,0,3210000,3210000,0,3210000,3210000,0,0,0,11:44:53,PM,02/28/2005
2005,'1','1101','510300','119110300',40000000,40000000,0,0,0,33293333,33293333,0,33293333,33293333,0,0,0,08:20:04,PM,04/20/2005

そっかー、こんな基本メソッドしか使ってないヤツでも馴れてない人から見るとスゴイんだねぇ。ググれば超絶技巧なヤツがわんさか捕れるんだけど。


それより、delete って tr 系だから正規表現使えないんだぁ。(何でも正規表現使おうとする人)