- 论坛徽章:
- 307
|
本帖最后由 sunzhiguolu 于 2016-12-23 14:51 编辑
- #!/usr/bin/perl
- use strict;
- use warnings;
- my ($da, $db) = ('2016/10/31', '2016/12/9');
- my @aData = ();
- while (<DATA>){
- next if ($_ lt $da or $_ gt $db);
- my $pos = /a/ ? 0 : 1;
- push (@{$aData[$pos]}, [split]);
- }
- foreach (@aData){
- my @aT = sort {$a->[-1] <=> $b->[-1]} @$_;
- my $raMax = $aT[-1];
- @aT = sort {$a->[-1] <=> $b->[-1]} grep {$_->[0] =~ s/\b(?=\d\b)/0/gr lt $raMax->[0] =~ s/\b(?=\d\b)/0/gr} @aT;
- print join ("\t", @{$raMax}, @{$aT[0]}), "\n";
- }
- __DATA__
- 2016/10/31 1 a 39.9
- 2016/11/1 1 a 41.72
- 2016/11/2 1 a 43.06
- 2016/11/3 1 a 42.7
- 2016/11/4 1 a 46.97
- 2016/11/7 1 a 45.33
- 2016/11/8 1 a 2
- 2016/11/9 1 a 38.1
- 2016/11/10 1 a 45.3
- 2016/11/11 1 a 44.93
- 2016/11/14 1 a 45.6
- 2016/11/15 1 a 45.7
- 2016/11/16 1 a 47.49
- 2016/11/17 1 a 46.88
- 2016/11/18 1 a 46.12
- 2016/11/21 1 a 100
- 2016/11/22 1 a 46.55
- 2016/11/23 1 a 46.08
- 2016/11/24 1 a 45
- 2016/11/25 1 a 43.92
- 2016/11/28 1 a 43.4
- 2016/11/29 1 a 41.8
- 2016/11/30 1 a 42.18
- 2016/12/1 1 a 41.82
- 2016/12/2 1 a 41.35
- 2016/12/5 1 a 41.71
- 2016/12/6 1 a 42.32
- 2016/12/7 1 a 43.56
- 2016/12/8 1 a 42.98
- 2016/12/9 1 a 1
- 2016/10/31 2 b 7.36
- 2016/11/1 2 b 100
- 2016/11/2 2 b 7.32
- 2016/11/3 2 b 7.38
- 2016/11/4 2 b 7.4
- 2016/11/7 2 b 7.53
- 2016/11/8 2 b 7.49
- 2016/11/9 2 b 7.43
- 2016/11/10 2 b 7.53
- 2016/11/11 2 b 7.56
- 2016/11/14 2 b 7.53
- 2016/11/15 2 b 7.61
- 2016/11/16 2 b 7.57
- 2016/11/17 2 b 7.55
- 2016/11/18 2 b 7.56
- 2016/11/21 2 b 7.54
- 2016/11/22 2 b 7.59
- 2016/11/23 2 b 7.61
- 2016/11/24 2 b 7.55
- 2016/11/25 2 b 7.56
- 2016/11/28 2 b 7.63
- 2016/11/29 2 b 7.48
- 2016/11/30 2 b 7.42
- 2016/12/1 2 b 7.45
- 2016/12/2 2 b 7.24
- 2016/12/5 2 b 7.2
- 2016/12/6 2 b 7.19
- 2016/12/7 2 b 7.26
- 2016/12/8 2 b 7.17
- 2016/12/9 2 b 7.19
复制代码 |
|