【发布时间】:2014-09-23 05:44:20
【问题描述】:
我有如下所示的目录结构。
- 我只想在我的@project 中获取项目名称。
@project=('project1','project2');
- 我想排除
OLD目录及其在@project中的子目录
- 我想在
@project的所有项目的子目录中获取最新文件。即,对于project1,最新文件在子目录2014,即foobar__2014_0916_248.txt
如何制定规则来实现这一目标?
use strict;
use File::Find::Rule;
use Data::Dump;
my $output = "/abc/def/ghi";
my @exclude_dirs = qw(OLD);
my @projects = File::Find::Rule->directory->in("$output");
dd \@projects;
我的目录结构:
.
├── project1
│ ├── 2013
| ├── file1_project1.txt
│ └── 2014
| ├── foobar__2014_0912_255.txt
| ├── foobar__2014_0916_248.txt
├── project2
│ ├── 2013
| ├── file1_project2.txt
│ └── 2014
| ├── foobarbaz__2014_0912_255.txt
| ├── foobarbaz__2014_0916_248.txt
└── OLD
└── foo.txt
【问题讨论】:
-
分两步进行:1) 找到项目,2) 对于每个项目,找到最新的文件。
标签: perl file file-search