我有一个文件路径数组:
@files = ('/home/.../file.txt', '/home/.../file2.txt',...);
我有多个远程计算机,具有类似的文件结构。如何使用 Perl 区分这些远程文件?
我想到使用 Perl 反引号,ssh
并使用 diff,但我遇到 sh
的问题(它不喜欢 diff <() <()
)。
是否有一种好的 Perl 方法可以比较至少两个远程文件?
最佳答案
使用rsync
将远程文件复制到本地机器,然后使用diff
找出差异:
use Net::OpenSSH;
my $ssh1 = Net::OpenSSH->new($host1);
$ssh1->rsync_get($file, 'master');
my $ssh2 = Net::OpenSSH->new($host2);
system('cp -R master remote');
$ssh2->rsync_get($file, 'remote');
system('diff -u master remote');
关于perl - 使用 Perl 比较两个远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17559653/