Footsteps on my way !
perl/linux/测序分析

perl多行处理

最近在处理多序列联配(multiple alignment)文件时觉得自己对perl处理多行的情况了解较少,特此留下一个小示例:

文件:

1  qwe 
2   asd 
3 zxc 

1 qwerty
2 asdfgh
3 zxcvbn

 

我要得到:

1 qweqwerty
2 asdasdfgh
3 zxczxcvbn

代码:

my %h;
while(<DATA>){
 next if /^\s*$/;
 s/[\r\n]+$//;
 my ($id,$data) = split;
 $h{$id} .= $data;
}
for(sort {$a<=>$b} keys %h){
 print $_," ",$h{$_},"\n";
}
__DATA__
1 qwe
2 asd
3 zxc
1 qwerty
2 asdfgh
3 zxcvbn

尊重他人劳动成果,转载请注明出处:Bluesky's blog » perl多行处理

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址