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后面的数字大小由大到小进行排序并输出排序后的第一行,即最大值所在的行。 展开
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后面的数字大小由大到小进行排序并输出排序后的第一行,即最大值所在的行。 展开
1个回答
展开全部
先把文件每行split分开
然后做个哈希,以第三列为键,整行为值
接下来用perl里的sort函数排序哈希输出即可
然后做个哈希,以第三列为键,整行为值
接下来用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,大概这样吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询