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

时间:2012-08-25 23:22:16

标签: perl file-exists

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

请告知如何做到。

3 个答案:

答案 0 :(得分:4)

只需使用glob:

if ( <*.txt> ) { ... }

答案 1 :(得分:0)

#! /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文件都在数组@txt中。

答案 2 :(得分:0)

请记住,*.txt实际上可能是一个目录。如果是您要访问的文件,grep glob

if ( grep -f, glob '*.txt' ) { ... }