perl 对2个txt文件内容进行按ID关联操作生成新的txt文件

2025-03-29 13:17:30
推荐回答(1个)
回答1:

程序代码: my(%d1,%d2,$str,$key,$val);my($id,$a,$b,$c,$d,$e,$f,$g);#读取文件1open(FD,'1');while(){ chomp; ($id,$a,$b,$c,$d)=split(/\s+/); $d1{$id}="$a\t$b\t$c\t$d";}close(FD);#读取文件2open(FD,'2');while(){ chomp; ($id,$e,$f,$g)=split(/\s+/); $d2{$id}="$e\t$f\t$g";}close(FD);#生成文件3open(FD,'>3');foreach $id (keys %d1){ print FD "$id\t".$d1{$id}."\t".(exists($d2{$id})?$d2{$id}:"NA\tNA\tNA")."\n"; delete($d2{$id}) if (exists($d2{$id}));}foreach $id (keys %d2){ print FD "$id\t".(exists($d1{$id})?$d1{$id}:"NA\tNA\tNA")."\t".$d2{$id}."\n";}close(FD); 运行拷屏: