
#!/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"}}'