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程序所在的全路径。
#
# 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程序所在的全路径。
相关文章推荐
- Perl初级教程 (5) 遍历文件夹内指定扩展名文件,查找匹配关键字的输出。
- java 遍历指定目录下的文件夹并查找包含指定关键字的文件
- perl如何遍历指定文件夹下的指定扩展名文件,并按时间顺序要求删除
- CFileFind类遍历查找文件夹下的所有文件,或者指定文件,并使用ofstream输出到制定文本
- Android 遍历文件夹,搜索指定扩展名的文件
- 【shell】shell查找指定路径下包含特定关键字的文件,并输出关键字所在文件及所在行
- 利用遍历查找输出文件夹下的txt后缀文件
- Android 遍历文件夹,搜索指定扩展名的文件
- Android 遍历文件夹,搜索指定扩展名的文件
- Java多线程查找指定文件夹下包含指定关键字的文件数量(未使用线程池版)
- html遍历指定文件夹匹配文件
- 在指定文件夹中的文件中查找包含指定字符的行(这个小东西不错[Perl])
- 根据关键字查找文件夹下的所有匹配文件
- Java多线程查找指定文件夹下包含指定关键字的文件数量(线程池版)
- 递归遍历文件夹查找指定文件
- 在指定文件夹中查找指定关键字,并输出关键字包括的次数
- linux shell删除所有文件夹下指定扩展名(关键字)的所有文件
- Android 遍历文件夹,搜索指定扩展名的文件
- 遍历整个文件夹,查找特定扩展名的文件,更改文件的前4个字节,并且改名字
- python 查找文件夹下的指定部分路径下的所有文件内匹配的字符 包括子文件夹下的文件