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

相关推荐
Hello--_--World2 分钟前
Js面试题目录表
开发语言·javascript·ecmascript
聆风吟º3 分钟前
【C标准库】深入理解C语言strcmp函数:字符串比较的核心用法
c语言·开发语言·库函数·strcmp
MIXLLRED6 分钟前
随笔——ROS Ubuntu版本变化详解
linux·ubuntu·机器人·ros
爱学习的小囧7 分钟前
ESXi CPU 使用率高怎么排查?esxtop 一键定位占用高的虚拟机与进程
java·linux·运维·服务器·网络·虚拟化
Fanfanaas8 分钟前
Linux 进程篇 (四)
linux·运维·服务器·开发语言·c++·学习
Sylvia-girl9 分钟前
C++中类与对象
开发语言·c++
良木生香12 分钟前
【C++初阶】:泛型编程的代表作---C++初阶模板
c语言·开发语言·数据结构·c++·算法
网域小星球19 分钟前
C++ 从 0 入门(一)|C++ 基础语法、命名空间、引用、IO 输入输出
开发语言·c++·引用·命名空间·cin/cout
发发就是发22 分钟前
触摸屏驱动调试手记:从I2C鬼点到坐标漂移的实战录
linux·服务器·驱动开发·单片机·嵌入式硬件
Jacob程序员26 分钟前
Linux 下启动达梦数据库 Manager 图形化客户端
linux·运维·服务器