我的 Perl 脚本搜索文件名目录,使用grep仅输出名称中不包含数字 2-9 的文件名。这意味着,如预期的那样,也将返回以数字“1”结尾的文件名。但是,我想使用chop函数输出这些没有“1”的文件名,但不知道如何。也许可以将grep和Chop函数组合在一行代码中来实现这一点?请指教。谢谢。
这是我的 Perl 脚本:
#!/usr/bin/perl
use strict;
use warnings;
my $dir = '/Users/jdm/Desktop/xampp/htdocs/cnc/images/plants';
opendir(DIR, $dir);
@files = grep (/^[^2-9]*\.png\z/,readdir(DIR));
foreach $file (@files) {
print "$file\n";
}
这是输出:
Ilex_verticillata.png
Asarum_canadense1.png
Ageratina_altissima.png
Lonicera_maackii.png
Chelone_obliqua1.png
这是我想要的输出,从文件名的末尾删除了数字“1”:
Ilex_verticillata.png
Asarum_canadense.png
Ageratina_altissima.png
Lonicera_maackii.png
Chelone_obliqua.png