-4
我是perl脚本的新手。我想搜索目录“pqr”中名为“abc”的每个文件夹,并将每个“abc”文件夹的路径以文件名= pathOfABC的形式写入单独的文件(n.txt,其中n是整数)。任何人都可以给我一些提示吗?如何使用perl搜索目录中的文件夹
我是perl脚本的新手。我想搜索目录“pqr”中名为“abc”的每个文件夹,并将每个“abc”文件夹的路径以文件名= pathOfABC的形式写入单独的文件(n.txt,其中n是整数)。任何人都可以给我一些提示吗?如何使用perl搜索目录中的文件夹
由于任务涉及递归,因此可以使用像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++;
}
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');
Google/Bing今天工作吗?你试图给它一个镜头?向我们展示迄今的进展。 – 2012-07-29 06:25:29
你是什么意思“每个abc文件夹”?查看'readdir'函数。 – 2012-07-29 06:26:08
我可以告诉你该文件夹的路径,而无需运行程序。它是'pqr/abc' – Borodin 2012-07-29 09:01:39