-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