私はperlスクリプトを初めて使用します。ディレクトリ「pqr」で「abc」という名前の各フォルダを検索し、各「abc」フォルダのパスをfilename = pathOfABCの形式で別のファイル(n.txt、nは整数)に書き込みます。誰かが私にこれについていくつかのヒントを教えてもらえますか?
質問する
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 に答える