用perl查找文件夹中的所有文件和目录

查找文件夹中的文件和目录是一个很常见的操作,使用perl的File::Find模块可以很方便的实现。首先使用perldoc File::Find 查看一下文档:

这个核心的就是文档中描述的回调函数。我们举一个实际的例子,一个空的git仓库为例,下面的脚本用于查找文件夹中的所有文件:

perl 复制代码
#! /usr/bin/perl
use v5.14;
use File::Find;

my @filesArry = ();
my $callback = sub {
	push @filesArry, $File::Find::name if -f;
};

find($callback, "./");

say for @filesArry;

回调函数中用 -f进行了过滤,只查找文件。

运行效果如下:

对于查找文件夹中的目录,方法是一样的,修改一下过滤条件就行。代码如下:

perl 复制代码
#! /usr/bin/perl
use v5.14;
use File::Find;

my @dirsArry = ();
my $callback = sub {
	push @dirsArry, $File::Find::name if -d;
};

find($callback, "./");

say for @dirsArry;

使用 -d进行过滤。运行效果如下:

相关推荐
Teacher.chenchong1 分钟前
R语言实现物种分布预测与生态位分析:多元算法实现物种气候生态位动态分析与分布预测,涵盖数据清洗、模型评价到论文写作全流程
开发语言·算法·r语言
烤麻辣烫18 分钟前
23种设计模式(新手)-7迪米特原则 合成复用原则
java·开发语言·学习·设计模式·intellij-idea
小武~35 分钟前
#嵌入式Linux电源管理实战:深入解析CPU调频governor原理与优化
linux
菠菠萝宝40 分钟前
【Java手搓RAGFlow】-1- 环境准备
java·开发语言·人工智能·llm·openai·rag
攻城狮CSU1 小时前
C# 异步方法
开发语言·前端·c#
lsx2024061 小时前
ionic 模态窗口:深入解析与最佳实践
开发语言
q***13611 小时前
史上最厉害的Java进阶之路
java·开发语言
万事可爱^1 小时前
GitHub爆火开源项目——RustScan深度拆解
c语言·开发语言·rust·开源·github·rustscan
ekkcole1 小时前
java word转pdf工具类,兼容linux和windows服务器
开发语言·pdf·c#
任子菲阳1 小时前
学Java第四十五天——不可变集合、Stream流
java·开发语言·windows