groovy
最近、ちょこちょこgroovyでスクリプトを書いてみることにしている。rubyとかと比べて参考書籍が少ないのが難点だけど、Javaとの親和性の高さから、あれどーなってたっけ?系の、ちょっとしたテストにはかなり便利。
多分、もっと修行すると短くなるんだろうけど、現時点ではJavaチックにしか書けない。恥ずかしいけどコード晒しておきます。
えーっと、Tracでは、チケットのレポートをtab-delimitedなテキストデータとしてダウンロードすることができますが、そのまま、Excelとかに読み込ませても、作成日などがepochからの経過秒数となっているため、何のこっちゃら?となってしまいます。それをフツーのフォーマットに変換する…のが以下のコードです。
awkとかで書いた方が短くなりそうな気もするけど、練習と言うことで…。
import java.text.SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd") System.in.eachLine { matcher = it =~ "(([^\\t]*\\t){13})(\\d+)\\t(\\d+)(.*)" if (matcher.matches()) { created = df.format(new Date(Long.parseLong(matcher.group(3).trim()) * 1000)) modified = df.format(new Date(Long.parseLong(matcher.group(4).trim()) * 1000)) println matcher.group(1) + created + "\t" + modified + matcher.group(5) } else { println it } }