用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进行过滤。运行效果如下:

相关推荐
Johnstons3 分钟前
如何精确模拟网络丢包进行测试?实测指南
开发语言·网络·php·网络测试·网络损伤·弱网模拟
枕星而眠4 分钟前
Linux IO多路复用:select、poll、epoll 核心原理与进阶实战
linux·运维·服务器·c++·后端
csdn_aspnet5 分钟前
Python 霍尔分区算法(Hoare‘s Partition Algorithm)
开发语言·python·算法
程序喵大人9 分钟前
C++与C语言的核心区别是啥
c语言·开发语言·c++
Rain5099 分钟前
GitLab-Runner + AI 代码审查服务 + 远程大模型 全套部署运维实战
linux·运维·人工智能·python·ci/cd·gitlab·ai编程
jjjava2.010 分钟前
全面拆解 Java 锁:分类辨析 + 底层原理精讲
java·开发语言
曹牧11 分钟前
Java:import NeverUsed
java·开发语言·log4j
冷色调的咖啡师12 分钟前
4.大数据高可用
大数据·linux·hadoop·hdfs·zookeeper·yarn
jimy121 分钟前
Gemini cli搜索文件find、grep的例子
linux·服务器
我不是懒洋洋23 分钟前
【C++】内存管理与模板(C++内存管理方式、new和delete的实现原理、malloc/free和new/delete的区别、函数模板、类模板)
c语言·开发语言·c++·青少年编程·visual studio