in reply to List Duplicate Files in a given directory
#!/usr/bin/perl use warnings; use strict; use Data::Dumper; ############## my $dir = shift @ARGV; my %md5_2file; opendir(my $dh, $dir) || die "Unable to Open the Directory $dir $!\n"; chdir $dir or die "Cannot Change to directory $dir: $!\n"; while (my $file = readdir $dh) { if (-f $file) { #takes care of ./ dir's and also no need to chomp( +) my ($md) = (split /\s+/, qx(/usr/bin/md5sum $file))[0]; push @{$md5_2file{$md}), $file; } } closedir($dh); foreach my $md5 (keys %md5_2file) { print "$md5: @{md5_2file{$md5}}\n"; # md5: file2 file2 filen # this md5 is unique if ( @{md5_2file{$md5}} == 1) }
|
|---|