您的位置:首页 > 其它

Perl初级教程 (5) 遍历文件夹内指定扩展名文件,查找匹配关键字的输出。

2012-07-25 14:05 531 查看
#!/usr/bin/perl -W
#
# File: find.pl
# License: GPL-2

use strict;
use warnings;
use File::Find;

#定义要匹配的关键字

my $str1="20090414095014";
my $str2="Report";

#定义键盘接收输入,第一个为文件夹路径,第二个为文件扩展名。

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" ;
while(<FH>){

# Perl 本身是大小写区别的,而且对于关键字搜索是借助于正则表达式来完成的。
if(<FH> =~ /$str2/i){
print "$file:\n" ;
}
}
print "\n";
close(FH) ;
}
# 在CMD模式下调用时切记使用perl程序所在的全路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐