我想处理子目录中存在的所有文件(以proc
开头,以log
结尾)。
我试过下面的代码:
$InputDir
:我从命令行接受这个:
find(
sub { print $File::Find::name, "\n" if /Proc(.*)log$/ },
$InputDir
);
我想将所有文件与数组中的完整路径一起使用。
答案 0 :(得分:2)
要存储文件名而不是仅打印它们,请将它们推入数组:
my @files;
find(
sub {
push @files, $File::Find::name if -f and /^proc.*log$/i;
},
$InputDir
);
print "$_\n" for @files;
-f and
检查找到的项目是文件,而不是目录。
答案 1 :(得分:1)
这听起来像File::Find::Rule
的任务use File::Find::Rule ;
my @files = File::Find::Rule->file()
->name( 'Proc.*log' )
->in( $InputDir );