如何检查目录中是否存在扩展名为.txt的文件



我想知道如何检查目录中是否有扩展名为.txt的文件。

如何做到这一点?

简单使用glob:

if ( <*.txt> ) { ... }
#! /usr/bin/perl
my $dir = '.';  # current dir
opendir(DIRHANDLE, $dir) || die "Couldn't open directory $dir: $!n";
my @txt = grep {  /.txt$/ && -f "$dir/$_" } readdir DIRHANDLE;
closedir DIRHANDLE;
print ".txt files found" if (scalar(@txt));

作为奖励,所有找到的.txt文件都在array@txt中。

请记住,*.txt实际上可能是一个目录。如果是你想要的文件,grep glob:
if ( grep -f, glob '*.txt' ) { ... }

相关内容

最新更新