- 论坛徽章:
- 307
|
本帖最后由 sunzhiguolu 于 2016-06-02 16:31 编辑
回复 19# Jason_0316
再试下,
perl abc.pl abc 000830 000833
#!/usr/bin/perl
use strict;
use warnings;
my @aData = (-1, -1, undef);
my $regx = qr /(?<=\d)(?=(?:\d\d)+\z)/;
my ($bt, $et) = splice (@ARGV, 1);
s/$regx/:/g for ($bt, $et);
while (<>){
my ($c1, $c2, $c3) = split;
if ($c3 gt $bt and $c3 lt $et){
my ($v) = $c1 =~ /\d+/g;
$aData[-1] ||= $c3;
if ($aData[-1] eq $c3){
@aData[0, 1, -1] = ($v, $c2, $c3) if ($aData[0] <= $v);
next;
}
print "@aData\n";
@aData[0, 1, -1] = ($v, $c2, $c3);
}
}
print "@aData\n";
|
|