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

Posted

技术标签:

【中文标题】如何检查目录中是不是存在扩展名为 .txt 的文件?【英文标题】:How to check if a file with a .txt extension exists in a directory?如何检查目录中是否存在扩展名为 .txt 的文件? 【发布时间】:2012-08-21 00:34:17 【问题描述】:

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

怎么做?

【问题讨论】:

【参考方案1】:

只需使用 glob :

if ( <*.txt> )  ... 

【讨论】:

...或者由于人们习惯于看到用于从文件中读取的尖括号,glob('*.txt') 做了几乎完全相同的事情,同时更不容易出错。【参考方案2】:
#! /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 中。

【讨论】:

不需要scalarprint ".txt files found" if @txt 好很多【参考方案3】:

请记住,*.txt 实际上可能是一个目录。如果是你要的文件,grepglob:

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

【讨论】:

以上是关于如何检查目录中是不是存在扩展名为 .txt 的文件?的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中查找扩展名为 .txt 的目录中的所有文件

如何检查java中是不是存在某个.txt文件[重复]

如何检查服务器上是不是存在任何pdf文件?

检查文件是不是存在后如何删除

检查目录是不是包含具有给定扩展名的文件

在 Pentaho 水壶中,如何检查文件名是不是存在?