Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: List Duplicate Files in a given directory

by kevbot (Priest)
on Jul 31, 2017 at 05:18 UTC ( #1196328=note: print w/replies, xml ) Need Help??

in reply to List Duplicate Files in a given directory

Here is a solution that uses Path::Tiny. See Path::Tiny: The little module that keeps on giving for a nice introduction to Path::Tiny.
#!/usr/bin/env perl use strict; use warnings; use Path::Tiny; my $dir = shift or die 'No directory given'; my $dir_path = path($dir); unless($dir_path->is_dir){ die "$dir is not a directory"; } my %files_of; foreach my $file_path ($dir_path->children){ my $digest = $file_path->digest; # default is SHA-256 #my $digest = $file_path->digest('MD5'); # use this if you want MD +5 push @{$files_of{$digest}}, $file_path->basename; } foreach my $digest (keys %files_of){ my @files = @{$files_of{$digest}}; if( scalar @files > 1){ print join(', ', @files), " are duplicates.\n"; } } exit;

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1196328]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2022-09-29 13:54 GMT
Find Nodes?
    Voting Booth?
    I prefer my indexes to start at:

    Results (125 votes). Check out past polls.