#!/usr/bin/perl # find multi #usage: mfind path regex [regex ...] # $Id: mfind,v 1.3 1999/12/15 08:26:02 djedi Exp $ ($dir, @pattern) = @ARGV; push(@dir,$dir); foreach (@pattern){ s/\./\\\./g; s/\?/\./g; s/\*/\.\*/g; $_ .= '$'; # ' } while ($#dir != -1 ){ # ($curentdir,@dir) = @dir; # parcours en largeur $curentdir = pop(@dir); # parcour en profondeur opendir(d,$curentdir); kikoo: while ($file = readdir(d)){ # print ">>".$file."\n"; next kikoo if ($file eq "."); next kikoo if ($file eq ".."); $file = $curentdir."/".$file; if ((-d $file) && (! -l $file)){ push(@dir,$file); }elsif (-f $file){ foreach $p (@pattern){ if ($file =~ /$p/){ print $file; print "\n"; } } } } closedir(d); } exit;