我怎樣才能找到所有目錄的列表匹配特定標準(以天爲-M
,修改年齡),在其子目錄中的文件,但不?如何在Perl中獲取目錄中的所有文件,但不能獲取子目錄中的所有文件?
我想使用文件::查找,但看起來它總是轉到子目錄了。
我怎樣才能找到所有目錄的列表匹配特定標準(以天爲-M
,修改年齡),在其子目錄中的文件,但不?如何在Perl中獲取目錄中的所有文件,但不能獲取子目錄中的所有文件?
我想使用文件::查找,但看起來它總是轉到子目錄了。
@files = grep { -f && (-M) < 5 } <$_/*> for @folders;
修改年齡,你可以使用_作爲所有,但第一個「文件名」重複使用相同的統計迴歸 – ysth 2009-12-01 17:28:59
使用readdir或File::Slurp::read_dir與grep結合。
#!/usr/bin/perl
use strict;
use warnings;
use File::Slurp;
use File::Spec::Functions qw(canonpath catfile);
my @dirs = (@ENV{qw(HOME TEMP)});
for my $dir (@dirs) {
print "'$dir'\n";
my @files = grep { 2 > -M and -f }
map { canonpath(catfile $dir, $_) } read_dir $dir;
print "$_\n" for @files;
}
您可以在「被通緝」功能中設置文件::查找::修剪跳過目錄樹。添加類似$文件::查找::修剪= 1,如果(-d & & $文件::查找::名字呢 「」);
如果你不想先進行深度搜索,不要使用深度優先搜索工具。 :) – 2009-12-01 15:40:51
什麼是「特定標準」?大小,權限,名稱,日期,任何事情? – innaM 2009-12-01 14:57:20
@Manni:-M,在做天在同一文件的多個-X的時候 – 2009-12-01 15:01:49