perl 递归地遍历目录下的文件
#!/usr/bin/perl -w
use strict;
use File::Spec; local $\ ="\n";#当前模块的每行输出加入换行符 my %options; #目录路径
$options{single_case} = '/home/jiangyu/src/pl/Example'; my @cases;
if (-d $options{single_case}) {#判断目录是否存在
my @files;
my $dh;
push(@files, $options{single_case});
while (@files) {
if (-d $files[]) {#若是目录执行以下操作
opendir $dh, $files[] or die $!;#打开目录句柄,若失败打印错误信息
@_ = grep { /^[^\.]/ } readdir $dh;#过滤掉以"."和".."的文件,即UNIX下的隐藏文件
foreach (@_) {
push(@files, File::Spec->catfile ($files[], $_));#连接目录名和文件名形成一个完整的文件路径:
}
closedir $dh;
}
#若是文件直接压入数组@cases中
elsif ($files[] =~ /\.t$/) {
push(@cases, $files[]);
}
shift @files;
}
}
else {
@cases = ($options{single_case});
} print $_ foreach @cases;#打印文件列表
perl 递归地遍历目录下的文件的更多相关文章
- (实用篇)PHP不用递归遍历目录下所有文件的代码
<?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ fu ...
- Java精选笔记_IO流【File(文件)类、遍历目录下的文件、删除文件及目录】
File(文件)类 File类用于封装一个路径,该路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录而言的相对路径 File类内部封装的路径可以指向一个文件,也可以指向一个目录,在使用File ...
- Python遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例
遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例: #-*- encoding: utf-8 -*- __author__ = 'liudong' import linecache,sys ...
- Linux和Windows的遍历目录下所有文件的方法对比
首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...
- PHP遍历目录下的文件夹和文件 以及遍历文件下内容
1.遍历目录下的文件夹和文件: public function bianli1($dir) { $files = array(); if($head = opendir($dir)) { while( ...
- Python递归遍历目录下所有文件
#自定义函数: import ospath="D:\\Temp_del\\a"def gci (path): """this is a stateme ...
- shell编程--遍历目录下的文件
假定目录text下有如下文件 目录:dir_1.dir_2.dir_3 文件:text_1.text_2 遍历目录下所有的文件是目录还是文件 if -- if类型: #!bin/sh for ...
- Java遍历目录下全部文件并替换指定字符串
应用场景:比方有一个深层次的文件目录结构,如:javaAPI 每一个文件中面都有同样的内容,而我们要统一改动为其它内容.上千个文件假设一个个改动显得太不明智. import java.io.Buffe ...
- (转)PHP自定义遍历目录下所有文件dir(),readdir()函数
方法一:使用dir()遍历目录 dir()函数,成功时返回Directory类实例 PHP dir() 语法格式为: dir(directory);//directory为需要显示文件名的目录名称,可 ...
随机推荐
- JavaScript中模块“写法”
在JavaScript模块到底是什么 event = function() { // do more return { bind: function() {}, unbind: function() ...
- docker相关配置
一.概述: 1.centos7下,默认firewalld为防火墙, systemctl status firewalld.service 2.关闭firewalld, systemctl stop f ...
- UVA 1569 Multiple
题意: 给定m个1位数字,要求用这些数字组成n的倍数的最小数字,如果无法组成就输出0 分析: BFS,由于n最大5000,余数最多5000,利用余数去判重,并记录下路径即可 代码: #include ...
- C#文件读写操作
方法1:使用FileStream读写文件 using System;using System.Collections.Generic;using System.Text;using System.IO ...
- L9-3.安装PHP软件包
安装扩展工具包: 查看是否安装成功: 做软连接: 安装libxml 先安装python: 做软连接: 同样安装 libmcrypt和mhash make && make install ...
- PHP和C#可共用的可逆加密算法
PHP 加密用法 <?phpclass DES{ var $key; var $iv; //偏移量 function DES($key = '11001100', $i ...
- MySql按指定天数进行分组数据统计分析 1
这几天,在做数据统计,在对数据库数据进行统计过程中,有个需求就是要按照指定天数进行分组, 之前一直没有找到好的方法,就先取出数据,在程序中进行分组. 后发现,可以在SQL语句中实现按天数分组. 例: ...
- Spring随笔 - 事务传播行为
Spring定义了7种不同的事务传播行为: PROPAGATION_MANDATORY:表示该方法必须在事务中运行.如果当前事务不存在,则会抛出一个异常. PROPAGATION_NESTED:表示如 ...
- css 一些常用属性总结
在项目中经常会用到一些很实用的css代码(*只做功能性记录,不追根究底,如有不合理的欢迎指正) css图片上下居中 /*图片上下居中代码*/ .imgvam { /*非IE的主流浏览器识别的垂直居中的 ...
- CentOS 7 上搭建LNMP环境
(转自美团云知识库Chris) 简介 LNMP是Linux.Nginx.MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一.本文将带领大家在CentOS 7操作系 ...