Terry Vaughn wrote:
> Hello.  Can someone fwd me a snibbet of code to identify all files within a 
>specified unix directory with a specific create date so that only those files are 
>opened and operated on.  Thanks.

This can be packed into tighter code (doing most of the work with a grep
on readdir), but it's easier to follow if broken out:

use strict;
use Time::Local;

# replace local with gm on these calls if you want GMT rather than local time

my $delta = 86400 * 1;                  # use yesterday for example
my @t = localtime(time - $delta);       # get local epoch time for the day
$t[0] = 0; $t[1] = 0; $t[2] = 0;        # drop back to midnight (remove H:M:S)
my $start = timelocal (@t);
$t[3]++;                # add a day so we get all files from the day in question
my $end = timelocal (@t);

my $dir = 'C:/tmp';
opendir DIR, $dir;
my @files = readdir DIR;
closedir DIR;

print "$start => $end\n";
foreach (@files) {
        print "$_\n";
        next if -d "$dir/$_";           # skip dirs
        my $ftime = (stat _)[10];       # get epoch creation time
# you may really want last modification time:
#       my $ftime = (stat _)[9];        # get epoch last modification time
        next if $ftime < $start;        # skip older than start time
        next if $ftime > $end;          # skip newer than end time
        print "$_\n";
}

__END__




-- 
   ,-/-  __      _  _         $Bill Luebkert   ICQ=162126130
  (_/   /  )    // //       DBE Collectibles   Mailto:[EMAIL PROTECTED]
   / ) /--<  o // //      http://dbecoll.tripod.com/ (Free site for Perl)
-/-' /___/_<_</_</_     Castle of Medieval Myth & Magic http://www.todbe.com/

_______________________________________________
Perl-Unix-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to