如何基于正则表达式支持搜索文件

时间:2010-08-18 10:43:41

标签: regex perl

来自here

#!/usr/bin/perl
my @arr = ('/usr/test/test-[\d.*].*.con');

如何基于正则表达式支持搜索文件

2 个答案:

答案 0 :(得分:5)

如果我理解你的问题,可以采用以下方法:使用glob查找目录中的所有文件,使用grep过滤它们。

my $dir = '/usr/test';
my @files = grep { /REGEX_HERE/ } glob("$dir/*");

答案 1 :(得分:0)

您可以使用File::Find来完成此操作。

use File::Find;

my @files = ();
find( sub {/test-[\d.*].*.con/ && push @files, $File::Find::name}, '/usr/test' );

print foreach (@files);