it may give you peace of mind to run this script. I wrote it a while
back to compare the contents of two directories and their
subdirectories.


Code:
--------------------
    
  #!/usr/bin/perl
  require 5;
  
  use strict;
  use File::Find;
  
  usage () unless $#ARGV == 1;
  
  my ($dir1, $dir2) = @ARGV;
  
  my $sum     = '/usr/bin/sum';
  my %dir1    = ();
  my %dir2    = ();
  my $path    = '';
  my $chksum  = '';
  my $return  = 0;
  
  find (\&searchdir1, $dir1);
  find (\&searchdir2, $dir2);
  
  foreach (sort keys %dir1) {
  if (exists $dir2{$_}) {
  if ($dir1{$_} != $dir2{$_}) {
  print "$_ in $dir1 ($dir1{$_}) and $dir2 ($dir2{$_}) are different\n
  ";
  next;
  }
  } else {
  print "$_ in $dir1 and not in $dir2\n";
  $return = 1;
  }
  }
  foreach (sort keys %dir2) {
  unless (exists $dir1{$_}) {
  print "$_ in $dir2 and not in $dir1\n" unless exists $dir1{$_};
  $return = 1;
  }
  }
  
  sub searchdir1 {
  return if -d $_;
  ($path) = ($File::Find::dir =~ m|^$dir1(.*)$|o);
  $chksum = `$sum $_`;
  $dir1{"$path/$_"} = (split /\s+/, $chksum)[0];
  }
  
  sub searchdir2 {
  return if -d $_;
  ($path) = ($File::Find::dir =~ m|^$dir2(.*)$|o);
  $chksum = `$sum $_`;
  $dir2{"$path/$_"} = (split /\s+/, $chksum)[0];
  }
  
  sub usage { die "usage: $0 dir1 dir2\n" }
  
--------------------


-- 
jth
------------------------------------------------------------------------
jth's Profile: http://forums.slimdevices.com/member.php?userid=48
View this thread: http://forums.slimdevices.com/showthread.php?t=35211

_______________________________________________
unix mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/unix

Reply via email to