使用sunOS中的find命令比较两个目录中的所有文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用sunOS中的find命令比较两个目录中的所有文件相关的知识,希望对你有一定的参考价值。
我试图在两个目录中遍历并比较每个文件并找出它们之间的差异我使用保存文件名和使用perl哈希数据的find命令显然是在使用SunS 5.10,下面的代码可以工作Linux操作系统
失败的代码片段
use strict;
use warnings;
use File::Find;
my (%files1, %files2);
my ($dir1, $dir2) = @ARGV;
find( sub { -f && $files1{$_} = $File::Find::name }, $dir1);
find( sub { -f && $files2{$_} = $File::Find::name }, $dir2);
错误
perl -c test_compare.pl
Can't modify logical and (&&) in scalar assignment at test_compare.pl line 9, near "$File::Find::name }"
test_compare.pl had compilation errors.
答案
这是因为operator precedence,你可以使用and
而不是&&
:
find( sub { -f and $files1{$_} = $File::Find::name }, $dir1);
以上是关于使用sunOS中的find命令比较两个目录中的所有文件的主要内容,如果未能解决你的问题,请参考以下文章