[EMAIL PROTECTED] wrote:
> 
> Hi all,

Hello,

> I want to search for a particular pattern, say MIN_VALUE, in a series of files
> with a digit as extension, say *.[0-9] for example.
> 
> These files are spread in a directory tree like this
> 
> directory1
>         subdir1
>         XX233
>            subsubdir1
>                 many_files
>                 file1.0
>                 file2.1
>                 ...
>            subsubdir2
>            sububdir3
>            ..
>         subdiri
> 
> directory2
>         subdir1
>         XX233
>         ...
> 
> dirctory3
>         XX233
> ...
> 
> directoryn
>         XX233
> ...
> 
> The objective is to search for the pattern only in files
> from the particular subdirectory XX233 (recursively) in
> all the directories directory1, directory2, ... Is there
> a fast and efficient way to do this.


Here is one way to do it:

#!/usr/bin/perl -w
use strict;
use File::Find;

die "usage: $0 MIN_VALUE directory\n" unless @ARGV == 2;

my ( $min_val, $dir ) = @ARGV;
my @files;

find( sub {
      return unless $File::Find::dir =~ m+/XX233/+;
      return unless /\.$min_val$/;
      push @files, $File::Find::name;
      }, $dir );

print join( "\n", @files ), "\n";

__END__


John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to