- 论坛徽章:
- 307
|
回复 8# munaiyi1234
试下:- #!/usr/bin/perl
- use strict;
- use warnings;
- my ($sReg, %hData, $sKey, $sHead, $sRemain) = (qr /.*~/);
- while (<DATA>){
- chomp;
- if (m/\A>/){
- $sKey = s/:/: /r;
- $hData{$sKey} = '';
- next;
- }
- $hData{$sKey} = $_;
- }
- foreach (sort { ($a =~ s/$sReg//r) <=> ($b =~ s/$sReg//r)} keys %hData){
- $sHead = $_ unless (defined $sHead);
- $sHead =~ s{[0-9]+\z}{$_=~s/$sReg//r}e;
- $sRemain .= $hData{$_};
- }
- print "$sHead $sRemain\n";
- __DATA__
- >chr01:3682~3701
- TTATGAGAAAAATACATGAA
- >chr01:696~715
- CACTCCATTTATATACACTT
- >chr01:1668~1687
- CAAATAGGTCTATAATATTA
- >chr01:2739~2758
- CCTTGGTGCAATTACGTAAT
- >chr01:1501~1520
- TTATTTAAGGACAAAGGTTG
- >chr01:1967~1986
- TCAGCAACTTCGACTGGGTA
- >chr01:1800~1819
- TTTGTCTCTAGTTTGCGATA
- >chr01:1414~1433
- CTGCAATCTTGTTCTTAGAA
- >chr01:3105~3124
- CTCATTTATAATGATTGATA
- >chr01:1096~1115
- CGAAGGGACTATATCTAGTC
- >chr01:1990~2009
- TTCAGTTGGGTGGGCGGCTT
- >chr01:929~948
- ATCACTGTCGTAACACTCTT
复制代码 |
|