我正在尝试将所有子目录和文件放在' dir1,dir2,dir3,dir4,dir5'像下面一样把它推到另一个Dir。如果我使用这个代码我会得到一切。但是,我需要处理更多这样的目录。是否有简单的方法来处理所有这些' dir1到... dirx'使用简单代码而不是单独分配下面的每个目录。在此先感谢
use File::Find::Rule;
my @pushdir;
my @pushdir1 = File::Find::Rule->directory->in('/tmp/dirx');
my @pushdir2 = File::Find::Rule->directory->in('/tmp/nextdir');
my @pushdir3 = File::Find::Rule->directory->in('/tmp/pushdir');
my @pushdir4 = File::Find::Rule->directory->in('/tmp/logdir');
my @pushdir5 = File::Find::Rule->directory->in('/tmp/testdir');
push @pushdir, @pushdir1,@pushdir2,@pushdir3,@pushdir4,@pushdir5;
my @Files;
foreach my $dir (@pushdir) {
push @Files, sort glob "$dir/*.txt";
}
答案 0 :(得分:1)
使用子程序:
sc.close();
答案 1 :(得分:0)
听起来你想要一个*.txt
子目录及其后代中包含的所有/tmp
文件的列表
通过单个glob
调用轻松完成,就像这样
my @files = glob '/tmp/**/*.txt'