简单实例-对比文件

简介: 简单实例-对比文件

####比较两个文件


#!/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;  


相关文章
|
5月前
|
安全 API Windows
CreateMutex用法
CreateMutex用法
|
6月前
|
自然语言处理 数据可视化 数据挖掘
BERTopic(一)基本用法
bertopic基本用法
139 0
|
6月前
|
监控 前端开发 数据库
RACSignal的八种常用用法
RACSignal的八种常用用法
59 0
|
6月前
|
机器学习/深度学习 数据可视化 API
Gymnasium的基本用法
Gymnasium的基本用法
320 0
|
Java Spring
@ConditionalOnProperty的用法
@ConditionalOnProperty的用法
361 0
|
C# 容器 数据格式
AvalonDock的基本用法
原文:AvalonDock的基本用法         AvalonDock是优秀的开源项目,用于创建可停靠式布局,能够在WPF中方便开发出类似VS2010的软件界面。对于复杂的软件系统,大量控件的使用会使的界面变得难以管理。
2183 0
EasyTouch基本用法
EasyTouch基本用法 本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) ...
1520 0