使い方:#!/usr/bin/env perl my %ctr; my $c = 0; foreach (reverse (<>)) { $c += length($_); if (/^(\d{4}-\d\d)/) { $ctr{$1} += $c; $c = 0; } } foreach (sort keys %ctr) { print "$_,$ctr{$_}\n"; }
% clstat.pl ChangeLog > cl.csv
% tac ChangeLog | perl -ne '$c+=length;if(/^(\d{4}-\d\d)/) {$h{$1}+=$c;$c=0}END{for(sort keys %h){print"$_,$h{$_}\n"}}'