perl如何遍历指定文件夹下的指定扩展名文件并读取内容
如:/tect/sig/fmoa001.a001.sig/tect/sig/fmoa001.a002.sig/tect/sig/fmoa001.a003.sig获取fmo...
如:/tect/sig/fmoa001.a001.sig
/tect/sig/fmoa001.a002.sig
/tect/sig/fmoa001.a003.sig
获取fmoa001.a001.sig ,fmoa001.a002.sig ,fmoa001.a003.sig 中的内容 展开
/tect/sig/fmoa001.a002.sig
/tect/sig/fmoa001.a003.sig
获取fmoa001.a001.sig ,fmoa001.a002.sig ,fmoa001.a003.sig 中的内容 展开
1个回答
展开全部
不知道你这里读取具体指什么,我就把文件名打印出来,把文件内容打印出来吧。(程序指定两个参数,第一个参数是指定的文件夹名,每二个参数是指定的扩展名。)
#!/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) ;
}
#!/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) ;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询