code-archive/photosort.pl

17 lines
433 B
Perl

#!/usr/bin/perl
use v5.14;
my $binidentify = '/usr/bin/identify';
for my $file (<*.jpg>){
my $cmd = sprintf "%s -format '%[exif:DateTime]' %s", $binidentify, $file;
my $outty = `$cmd`;
next if ($? != 0);
next if ($outty !~ m/^(\d{4})\:(\d{2})\:(\d{2})/);
my ($year, $month, $day) = ($1, $2, $3);
my $cmd = sprintf "mkdir -p %s/%s", $year, $month;
`$cmd`;
my $cmd = sprintf "mv %s %s/%s/", $file, $year, $month;
`$cmd`;
}