perl 读取文件夹下所有txt,并处理数据

perl 读取文件夹下所有txt,并处理数据,第1张

open(

fh,

"data.txt"

)

#打开文件

foreach

$line

(

){

#循环读取文件

$line

=~

s/\x0d?\x0a?$//

#取得一肢巧行,答燃去掉结尾换行符

@datas

=

split("

"清饥虚,$line)

#把空格当中分隔符,取得数据

$dats[0]

#steve

$dats[1]

#blenheim

$dats[2]

#101

#接下来处理取得的数据

}

不知道你这里读取具体指什么,我就把文件名打印出来,把文件内容打印出来吧。(程序指定两个参数,第一个参数是指定的文件夹名橘汪,每二慎指个参数是指定的扩展名。)

#!/usr/bin/perl

use strict

use warnings

die "Usage: $0 <dir><extion>\n" unless @ARGV == 2

my $Dir = $ARGV[0]

my $Ext = $ARGV[1]

opendir(DH, "$Dir") or die "Can't open: $!\n"

#读取指定文件夹下面的指定扩展名的文件名,保存到数组圆孝仔里。

my @list = grep {/$Ext$/ &&-f "$Dir/$_" } readdir(DH)

closedir(DH)

chdir($Dir) or die "Can't cd dir: $!\n"

foreach my $file (@list){

open(FH, "$file") or die "Can't open: $!\n"

print "$file:\n"

while(<FH>){

print

}

print "\n"

close(FH)

}

给你一个比较复杂点的例子。。。。

opendir (DIR,"X:\\")||die"$!"

chdir("X:\\")

@dirs=grep{/^\.\.?$/}readdir DIR

foreach $dir(@dirs){

opendir (DIR2,$dir)||die"$!"

@files=grep{/indd$/}readdir DIR2

close DIR2

}

close DIR

当然还简州有更多的方法,可以用glob,LS所竖搜说的拦纤蔽File::Find等等。。。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12203758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存