简单实例-对比文件

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

####比较两个文件


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


相关文章
|
7月前
|
Linux Python Windows
Python3, 多种方法实现文件/目录的监听,只想说一个字:泰裤辣。
Python3, 多种方法实现文件/目录的监听,只想说一个字:泰裤辣。
50 0
|
9月前
|
Python
#PY小贴士# 函数也是对象
这就要提到 Python 中的一个重要概念:万物皆对象。除了我们熟知的数字、字符、列表、字典是对象外,函数、模块,甚至类型本身,也是对象,只不过在功能和表现上会有所不同。
|
10月前
|
Perl
简单实例应用(1)
简单实例应用(1)
|
10月前
|
Java 应用服务中间件 容器
javaweb项目中引用带有dll文件处理方式
javaweb项目中引用带有dll文件处理方式
|
存储 索引 Perl
Perl项目中的面向对象、继承默认加载和正则表达式的使用方法
Perl项目中的面向对象、继承默认加载和正则表达式的使用方法
|
Go
go语言简单实现加载ini文件
go语言简单实现加载ini文件
108 0
go语言简单实现加载ini文件
|
Java Maven
编写一个 spootboot 程序,有二个方法,一个问早上好,一个说再见
编写一个 spootboot 程序,有二个方法,一个问早上好,一个说再见
111 0
vbs学习,书籍,看书笔记(4.1) 类基本语法,类的事件
vbs学习,书籍,看书笔记(4.1) 类基本语法,类的事件
|
Python
python创建类导入(简化版纯代码)
python创建类导入(简化版纯代码)
99 0