借助perl脚本进行文件整理 | 将按第一列信息整理的文件改成按照第二列信息整理

perl data.pl id1.txt id2.txt 现有一文件,有两列,是按照第一列内容进行展示的,如下图:A    green;red;blueB    yellow;greenC    red;blue;grey;pink;blankD    green;grey现在想将文件...
perl data.pl id1.txt id2.txt
现有一文件,有两列,是按照第一列内容进行展示的,如下图:
A    green;red;blue
B    yellow;green
C    red;blue;grey;pink;blank
D    green;grey
现在想将文件按照第二列数据进行整理查看,如下图:
blank   C
blue    A C
green   A B D
grey    C D
pink    C
red     A C
yellow  B
有perl脚本如下:
print "perl $0  <id_list> <out_file>\n" and die unless(@ARGV==2);
open IN,"$ARGV[0]" or die "$!; can't open file $ARGV[0]\n";
open OUT,">$ARGV[1]" or die "$!; can't open file $ARGV[1]\n";
my%id;
my%hash;
while(<IN>){
        chomp;
        my@a=split(/\s/);
        my@b=split(/;/,$a[1]);
        $id{$a[0]}=[@b];
        foreach(@{$id{$a[0]}}){
                push @{$hash{$_}},$a[0];
        }
}
foreach (sort keys %hash) {
        print OUT "$_\t", join(' ', sort @{$hash{$_}}), "\n";
}
close IN;
close OUT;





  • 发表于 2023-12-28 15:32
  • 阅读 ( 974 )
  • 分类:perl

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
rzx
rzx

78 篇文章

作家榜 »

  1. omicsgene 702 文章
  2. 安生水 351 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. rzx 78 文章
  7. 红橙子 78 文章
  8. CORNERSTONE 72 文章