Perl的文件::查找::规则金额/数量规则?

时间:2014-02-07 13:20:20

标签: perl head tail file-find

当我有一个包含约5000张图像的文件夹时,我使用以下代码:

my $path= "./foo/images"
my @files = File::Find::Rule->file()->name('*.jpg')->in($path);

我应该在我的阵列中获得5000张图像。

但是,如果使用perl或shell函数(例如tailhead或者其他任何方式来获取最后100个图像吗?

2 个答案:

答案 0 :(得分:1)

您可以使用array slice。这得到了返回的第5个:

my @files = (File::Find::Rule->file()->name('*.jpg')->in($path))[0 .. 4];

这得到了最后的5:

my @files = (reverse File::Find::Rule->file()->name('*.txt')->in($path))[0 .. 4];

答案 1 :(得分:0)

刚刚意识到...... File :: Find :: Rule完全混合了图像...... 所以在切片之前我们还需要一个排序

所以最后我/我们必须使用以下内容:

为前5:

my @files = (sort File::Find::Rule->file()->name('*.jpg')->in($path))[0 .. 4];

最后5:

my @files = (reverse sort File::Find::Rule->file()->name('*.jpg')->in($path))[0 .. 4];