- 论坛徽章:
- 307
|
疯子影子 发表于 2016-07-18 15:00
这不是取各分类最新50条记录吗?楼上tail 50不行吧!
tail 50 不行那就最后进行统计:- #!/usr/bin/perl
- use strict;
- use warnings;
- my %hData;
- map {my ($k, $v) = split; push (@{$hData{$k}}, $v)} <DATA>;
- foreach my $k (keys %hData){
- my $cnt = @{$hData{$k}};
- my @aData = $cnt > 50 ? @{$hData{$k}}[($cnt - 50) .. ($cnt - 1)] : @{$hData{$k}};
- $cnt = @aData;
- my $total = 0;
- $total += $_ for @aData;
- printf ("%s %d %g\n", $k, $total, int($total / $cnt + .5));
- }
- __DATA__
- a 1
- a 2
- c 10
- b 3
- a 3
- c 13
- b 5
- a 4
- c 15
- a 5
- b 4
- c 13
- b 2
- b 1
复制代码 a 15 3
c 51 13
b 15 3
|
|