rubyのワンライナー(一行野郎)でファイルの1行目に連続的に日付を付与

2014年2月1日が基準にすると、、
1010_ss.csv

NA,NA,1,1
NA,NA,2,3
NA,NA,3,5
NA,NA,7,8

2014-02-01,2014-02-01,1,1
2014-02-02,2014-02-02,2,3
2014-02-03,2014-02-03,3,5
2014-02-04,2014-02-04,7,8

に変える.

ruby -r "Date" -F"," -ane 'BEGIN{k=0};d=Date.new(2014,02,1)+k;puts d.to_s+","+d.to_s+","+$F[2]+","+$F[3];k=k+1' 1010_ss.csv 

解説:

  • r: でDateクラスのライブラリを利用
  • a: $Fに","で分割して格納
  • n: 一行ごと
  • e: インタラクティブ
  • F",": -aの分割の区切り文字を","に指定
  • BEGIN: ファイルを読み込む前に実行