简单实例-对比文件

时间:2022-07-22
本文章向大家介绍简单实例-对比文件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
####比较两个文件
#!/usr/bin/perl
use strict;
use warnings;
#use PerlIO::gzip;
open IN1, "$ARGV[0]" or die $!;   ##打开文件1
open (IN2,"$ARGV[1]") or die $!;  ##打开文件2
open (OUT,">$ARGV[2]") or die $!; ##打开结果文件(此时为空)
my %hash=();
my $ass;
while(<IN1>){            ##按行读取文件1
 chomp;               ##去掉换行符
 my @arr=split /s+/,$_;   ##按空格分隔
 my $ID=$arr[0];           ##提取需要比较的列
 $hash{$ID}=1;             ##hash定义键和值
}
while(<IN2>){
 chomp;
 $ass=$_;
 my @as=split /s+/,$ass;
 my $ae=$as[0];
  if (exists $hash{$ae}){      ##循环判断,是否存在键值
 print OUT "$ass";        ##输出到OUT句柄打开的文件中
 }
} 
close IN1;
close IN2;
close OUT;