perl 如何对一组数据进行排序

数据格式如下ACCCTTTTT........CGTTab12M:12:11:12:0ACCCTACCC.......CCTTab10M:11:2:11:0.......... 数据格式如下
ACCCTTTTT........CGTT ab 12 M:12:11:12:0
ACCCTACCC.......CCTT ab 10 M:11:2:11:0
........
ACCCCTCAC.......CACA ab 5 M......

诸如这样的格式,开始为一段等长序列(长度不定),第二段为固定ab ,第三段为数字(需要从大到小排列),第四段为特征标签(无关)
要做的就是按ab后面的数字大小由大到小进行排序并输出排序后的第一行,即最大值所在的行。
展开
 我来答
lucifer_001
推荐于2017-12-16 · TA获得超过684个赞
知道小有建树答主
回答量:414
采纳率:0%
帮助的人:410万
展开全部
先把文件每行split分开正纯
然后做个哈希,携丛以举隐咐第三列为键,整行为值
接下来用perl里的sort函数排序哈希输出即可
更多追问追答
追问
可以给个参考么?本人新手,感激不尽
追答
open(A,"test.txt");
while(my $line=<A>){
   chomp $line;
   @sss = split("\t",$line);
   $save{$sss[2]} =$line;
}
close(A);

my @key =sort {$b <=> $a} keys %save;

for my $i(@key){
    print $save{$i};
}

好久不写perl了,一直都用python,大概这样吧。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式