我是Perl的新手,我在获取已知子文件夹的父文件夹时遇到了一些麻烦.
所以我有一个子文件夹列表,比方说A,B,C,D等.
我知道它们都散布在标有(例如),1,2,3,4等的文件夹中.
所以我有一个子文件夹列表,比方说A,B,C,D等.
我知道它们都散布在标有(例如),1,2,3,4等的文件夹中.
所以它可以是这样的:
1 / A
1 / B
2 / C
3 / d
3 / E
等等
我只是想遍历每个文件夹并找到它的直接父目录.有任何想法吗?
编辑:将PERL更改为Perl:P
解决方法
use File::Find::Rule qw( ); my @matches = File::Find::Rule ->name(qw( A B C D )) ->directory ->in('.');
它处理深度目录就好了.
$mkdir -p a/b/c/d/e/f/g/h/i/j/k/l $touch a/b/c/d/e/f/g/h/i/j/k/l/file $mkdir -p 0/1/2/3/4/5/6/7/8/9 $touch 0/1/2/3/4/5/6/7/8/9/file $perl -MFile::Find::Rule -E'say for File::Find::Rule->in(".")' . a a/b a/b/c a/b/c/d a/b/c/d/e a/b/c/d/e/f a/b/c/d/e/f/g a/b/c/d/e/f/g/h a/b/c/d/e/f/g/h/i a/b/c/d/e/f/g/h/i/j a/b/c/d/e/f/g/h/i/j/k a/b/c/d/e/f/g/h/i/j/k/l a/b/c/d/e/f/g/h/i/j/k/l/file 0 0/1 0/1/2 0/1/2/3 0/1/2/3/4 0/1/2/3/4/5 0/1/2/3/4/5/6 0/1/2/3/4/5/6/7 0/1/2/3/4/5/6/7/8 0/1/2/3/4/5/6/7/8/9 0/1/2/3/4/5/6/7/8/9/file