aes1972 has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks,
I am currently getting a list of files from a directory hiearchy with this script which works great (user name and full name get appended at end of file path):
The thing is that most of the files are file sequences like this:
So I would love to be able to filter the results to only get one entry per sequence like this:
Please note that the sequences dont have padded numbers but I am already solving that with the map and sort above so now I just need to only print the unique sequences.
Actually since I am getting the full path and also attaching the user the output should ultimately look like this:
Thanks.
I am currently getting a list of files from a directory hiearchy with this script which works great (user name and full name get appended at end of file path):
use File::Find; use File::stat; my $dir = "path/to/directory"; find ( {' wanted' => sub { my $file = $File::Find::name; ($n, $p, $uig, $gid, $dq, $c, $fn, $d, $s) = getpwuid (stat($file)-> uid); if (-f && (/^[^.]/) ) { print $file.":".$n.":".$fn; } }, 'preprocess' => sub { @_ = map { $_->[0] } sort { $a->[1] cmp $b->[1] || $a->[2] <=> $b->[2] } map { m/(\d+)(\.[^.]+$)/ ? [$_, $2.$`,int($1)] : [$_, "", ""] } @_; @_ = grep (/^[^\.]/, @_) } } ,$dir);'
The thing is that most of the files are file sequences like this:
image_sequenceA.1.tif image_sequenceA.2.tif image_sequenceA.3.tif image_sequenceB.40.tif image_sequenceB.41.tif image_sequenceB.42.tif
So I would love to be able to filter the results to only get one entry per sequence like this:
image_sequenceA.[1-3].tif image_sequenceB.[40-42].tif
Please note that the sequences dont have padded numbers but I am already solving that with the map and sort above so now I just need to only print the unique sequences.
Actually since I am getting the full path and also attaching the user the output should ultimately look like this:
path/to/directory/image_sequenceA.[1-3].tif:bob:Bob User path/to/directory/image_sequenceB.[40-42].tif:frank:Frank User
Thanks.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Detect file sequences in File:Find results
by choroba (Cardinal) on Jan 21, 2013 at 01:01 UTC | |
by aes1972 (Initiate) on Jan 21, 2013 at 01:33 UTC | |
by johngg (Canon) on Jan 21, 2013 at 15:38 UTC | |
Re: Detect file sequences in File:Find results
by Anonymous Monk on Jan 21, 2013 at 08:00 UTC | |
by Anonymous Monk on Jan 21, 2013 at 08:06 UTC |
Back to
Seekers of Perl Wisdom