我是 perl 脚本的新手。我想在目录“pqr”中搜索一个名为“abc”的每个文件夹,并将每个“abc”文件夹的路径写入一个单独的文件(n.txt,其中 n 是一个整数),格式为 filename = pathOfABC。谁能给我一些提示?
问问题
129 次
2 回答
4
由于任务涉及递归,您可以使用类似File::Find
.
#!/usr/bin/env perl
use strict;
use warnings;
use File::Find;
my @files;
sub wanted {
if ( -d && $_ eq 'abc' ) {
push @files, $File::Find::name;
}
}
find \&wanted, 'pqr';
my $ctr = 1;
for (@files) {
open my $fh, '>', "$ctr.txt" or die "Error opening file";
print $fh $_;
$ctr++;
}
于 2012-07-29T06:34:03.690 回答
0
该Path::Class::Rule
模块使这样的搜索非常简洁。
代码看起来像这样。
use strict;
use warnings;
use Path::Class::Rule;
my $rule = Path::Class::Rule->new->dir->name('abc');
print "$_\n" foreach $rule->all('pqr');
于 2012-07-29T09:11:35.243 回答