当前位置: 首页 > article >正文

perl读取目录,写入文件

perl读取目录,写入文件

此脚本有两个输入参数,第一个参数为需要打印的文件目录,第二个参数为打印后的文件名;

该脚本名称为out_file_full_path

#!/bin/perl

use 5.010;
my $dir = $ARGV[0]; # 此为第一个参数;
opendir my $dh, $dir or die "Cannot open $dir: $!";

my $out_file = $ARGV[1]; # 此为第二个参数;
open OUT,">", $out_file or die "Cannot open $out_file:$!";

foreach $file (readdir $dh) {
  next if $file eq '.' or $file eq '..'; # 将当前目录.和上层目录..排除在打印列表之外
  my $full_dir = "$dir/$file"; #加上目录路径,若不需打印目录,则注释改行,修改下一行的$full_dir为$file即可
  print OUT $full_dir . "\n"; #将文件和目录写入OUT文件中,每行添加一个"\n",用于换行
  print "One file in $dir is $file\n"; #此行为debug 调试打印,可注释
}

closedir $dh; # 关闭打开文件夹的句柄
close OUT; #关闭打开文件的句柄

举例说明

# 现在在一个名为test的文件夹,test里面有3个文件,分别为test1.v,test2.v,test3.v
# 在终端中输入上述命令
[xxx@local]$ ./out_file_full_path test test.out

# 返回结果有两个,第一个即为打印在终端的:
One file in test is test1.v
One file in test is test2.v
One file in test is test3.v
# 第二个为,输出的文件,名称为test.out
# 在终端中使用cat命令获取文件内容
cat test.out
# 返回值为
$PATH/test/test1.v
$PATH/test/test2.v
$PATH/test/test3.v
# 其中$PATH为test所在路径

http://www.kler.cn/news/355593.html

相关文章:

  • 高校企业数据可视化平台功能介绍/特色功能
  • 骑砍霸主MOD天芒传奇Ⅱ·前传-序章
  • 压缩感知解谱
  • EI会议将截稿|第三届环境工程与与可持续能源国际会议(EESE 2024)
  • Git常用操作
  • 国家计算机二级MSOffice计算机选择题题库汇总精选
  • VS code部署Vue项目Demo
  • Apache POI
  • C#从零开始学习(基本语法概念)(2)
  • 腐蚀膨胀预处理
  • Java - 使用AOP+SpEL基于DB中的用户ID自动补全用户姓名
  • 【网络安全】盲SSRF+CSP绕过实现XSS
  • 使用ROS资源编排一键部署LNMP建站环境,手动整理教程
  • @PostConstruct和afterPropertiesSet方法执行多次的原因
  • DirectX 11 和 Direct3D 11 的关系
  • WordPress官方发布“新”插件“SCF”(安全自定义字段)
  • 【C++基础篇】——逐步了解C++
  • 【ROS2】订阅手柄数据,发布运动命令
  • 小程序如何根据用户的不同显示不同导航栏
  • Docker可视化管理工具DockerUI的使用