- 论坛徽章:
- 307
|
本帖最后由 sunzhiguolu 于 2016-09-13 18:30 编辑
- #!/usr/bin/perl
- use strict;
- use warnings;
- my @aData = map {[@{$_}[0, 1, 1]]} [split (' ', scalar <>)];
- while (<>){
- my ($id, $val) = split;
- if ($aData[-1][0] eq $id){
- my $next = $aData[-1][-1] + 1;
- $next == $val ? ($aData[-1][-1] = $next) : push (@aData, [$id, $val, $val]);
- next;
- }
- push (@aData, [$id, $val, $val]);
- }
- print "@$_\n" for @aData;
复制代码
perl abc.pl a
------------------------------------------------
chr1 4589 4594
chr1 59497 59503
chr1 1138915 1138922
chr2 3583635 3583642
chr2 3583705 3583706
chr2 3583785 3583812 |
|