加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl文件和目录操作

发布时间:2020-12-15 21:07:23 所属栏目:大数据 来源:网络整理
导读:文件检测操作符 -e 文件是否存在 -f 文件是普通文件 -d 文件是目录 -r 文件是否可读 -w 文件时候可写 -x 文件是否可执行 -s 文件存在且大小非零,返回文件大小的字节数 -z 文件存在且大小为0 -B 文件是二进制文件 -T 文件是文本文件 -A 距离上次文件被访问年
文件检测操作符
-e 文件是否存在
-f 文件是普通文件
-d 文件是目录
-r 文件是否可读
-w 文件时候可写
-x 文件是否可执行
-s 文件存在且大小非零,返回文件大小的字节数
-z 文件存在且大小为0
-B 文件是二进制文件
-T 文件是文本文件
-A 距离上次文件被访问年限
-M 距离上次文件被修改年限????????????int(var) 函数取整
-C 距离创建文件的年限
? ?
? ?
更改访问许可权限
chmod (mode,fileList)??mode为四位数字,0XXX
文件重命名:
rename (fileName,newFileName)
注:创建新文件,旧文件删除,如果已存在newFileName文件则覆盖 。成功返回1
删除文件
unlink (fileList)?即删除所有硬链接,返回删除文件个数
文件通配:
glob("标识") # 引号不能少
<"标识">
标量环境:返回匹配的第一个文件
列表环境:返回匹配的文件列表
目录操作:
opendir (DIR,fileDir)
readdir(DIR) 返回文件列表
closedir DIR
需求实例:遍历一个文件夹,并将其中的某些文件更名

# ?功能:将目标目录下的以.logbak结尾的文件更名为.log
#??目录操作函数可以在相对路径下工作

use ?strict;

?warnings;


sub ?changeName?{

????
chdir ? shift ;

????
print ?`pwd`;? ?打印当前目录 ???? for my ? $file ?( glob ( " * ))?{?? ?glob不会包含.和..?目录 ???????? if - d? )?{

????????????
?( );?? ?子目录一直保持在当前目录工作 ???????????? & changeName(`pwd`);

????????????
.. );

????????}

????????
elsif f? && =~ / .+ )( . logbak)$ i)?{

????????????
f?$ 1 .log )?{? ?防止更名误覆盖文件 ???????????????? rename ?($ , $ .newlog );

????????????}

????????????
);

????????}

????}

}

????????????


changeName( ?参数为目标目录


$path = ?`pwd`;

chomp ;????? ?`pwd`命令结尾有个回车符,需要chomp去掉 $path? ;

opendir ?DIR? || die cant?open?$! foreach readdir ?DIR)?{???? ?readdir?将读出所有的文件和目录,包括.和.. $file? ;

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读