我有一个名为 - "Requests"
的目录,其中包含以下文件
Transition-Request-201405061735.html
Requisition-Request-201405061735.html
Transition-Request-201405061735.txt
Transition-Request-201405061735.csv
output.txt
我只需要过滤 Transition-Request-201405061735.txt
到目前为止我想到的代码如下
#!/usr/bin/perl
use strict;
use warnings;
my $Request = "/tmp/Requests";
opendir(DIR, $Request) or die $!;
my @inputfiles = grep { /ion-Request-/ && \/\.txt$/ && -f "$Request/$_" } readdir(DIR);
print "@inputfiles\n";
输出如下
Transition-Request-201405061735.html Transition-Request-201405061735.csv Transition-Request-201405061735.txt Requisition-Request-201405061735.html
我正在寻求专家建议,以使用有效的 grep
语句来仅过滤我想要的文件 - Transition-Request-201405061735.txt
最佳答案
这是由于转义字符造成的:
\/\.txt$/
# ^ here
只需删除它:
.... /ion-Request-/ && /\.txt$/ ...
关于perl - grep 目录中的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23996291/