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

相关推荐
鱼很腾apoc32 分钟前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
\光辉岁月/1 小时前
3.包装类
java·开发语言·包装类
刚入门的大一新生1 小时前
Linux-进程间通信1
linux·运维·服务器
张宇Joaquin1 小时前
Linux系统下磁盘扇区512n、512e和4kn的区别
linux·运维·数据库
道虽迩,不行不至1 小时前
数据库自动连库执行增量脚本-Linux
linux·数据库
GeW2 小时前
新质生产力发展路线图来了,Linux和数据库人该怎么接
linux·数据库
FRing032 小时前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
西索斯coding2 小时前
Grok 4.7 调用一直 401 怎么办?不是 Key 过期,是 Authorization 头格式问题——排查全流程 + 修复示例
服务器·开发语言·ai·php
yunwei372 小时前
eBPF 示例:使用 CUPTI 构建 GPU 火焰图分析器
linux·后端·性能优化
张宇Joaquin2 小时前
自研SP600系列网卡驱动跟麒麟V10 SP3 2403配套关系
linux·运维·网络