perl文件比对

sub compare_file
{
	# 用于比对两文件是否相同
	my ($rec1,$ref1) = @_;
	
	open(A, "$rec1") or die "1\n";
	open(B, "$ref1") or die "2\n";
	#open A,"a.txt";
	#open B,"b.txt";
	my @a=<A>;
	my @b=<B>;
	@a=map{split(/\s+/,$_)}@a;
	@b=map{split(/\s+/,$_)}@b;
	my $a = @a;
	my $b = @b;
	my $diff=0; #0代表相同,1代表不同
	if($a < $b)
	{
		$a=$b;
	}
	for (0..$a-1)
	{
		if ($a[$_] eq $b[$_])
		{ next;}
		else
		{ $diff=1;return "$diff";}
	}
	return "$diff";
	close(A);
	close(B);
}
my $des_file = "$path1/aaa";
my $src_file = "//127.0.0.1/$path2/bbb";
my $get_compare_result = &compare_file($des_file,$src_file);

# 如果结果为1,则备份目标路径,copy源路径文件进行操作
if ( $get_compare_result == 1) {
	my	$time  = '当前日期';
	copy($des_file,"$des_file-bakup-$time")||  warn "could not copy files :$!" ;
	copy($src_file,$des_file) ;
}

通过比较文件,判断两文件是否相同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值