Perl 在指定文件夹中的文件中查找包含指定字符的行
2012-07-05 17:43
1671 查看
本文转载于 http://blog.sina.com.cn/s/blog_55cbb3d10100pfjl.html
字符串提取是个麻烦有需要耐心的工作,如果针对一个文件,可以利用正则表达式提取某些字符串,如果你有成百上千个文件,则需考虑循环或文件夹操作,下面的代码介绍了如何提取一个文件夹(含子目录)中较多文件里的某一固定字符串。
$searchdir="c:/folder";
#指定根文件夹路径
chomp $searchdir;
$searchstr="N2O_emission"; #指定欲提取的字符串
chomp $searchstr;
opendir(DIRHANDLE,$searchdir) || die "Cann't open $searchdir !";
while($file=readdir DIRHANDLE) {
if (-d "$searchdir/$file") {
printf "$searchdir/$file is a directory!\n";
} else {
open(FileHandle, "$searchdir/$file") || die "cann't open $searchdir/$file !\n";
$lines=1;
while (defined($line=<FileHandle>)) {
$back=index($line,$searchstr);
if ( $back != -1 ) {
print"$file:$lines:$line";
#打印提取到的行
}
$lines=$lines+1;
}
}
close(FileHandle);
}
closedir(DIRHANDLE);
字符串提取是个麻烦有需要耐心的工作,如果针对一个文件,可以利用正则表达式提取某些字符串,如果你有成百上千个文件,则需考虑循环或文件夹操作,下面的代码介绍了如何提取一个文件夹(含子目录)中较多文件里的某一固定字符串。
$searchdir="c:/folder";
#指定根文件夹路径
chomp $searchdir;
$searchstr="N2O_emission"; #指定欲提取的字符串
chomp $searchstr;
opendir(DIRHANDLE,$searchdir) || die "Cann't open $searchdir !";
while($file=readdir DIRHANDLE) {
if (-d "$searchdir/$file") {
printf "$searchdir/$file is a directory!\n";
} else {
open(FileHandle, "$searchdir/$file") || die "cann't open $searchdir/$file !\n";
$lines=1;
while (defined($line=<FileHandle>)) {
$back=index($line,$searchstr);
if ( $back != -1 ) {
print"$file:$lines:$line";
#打印提取到的行
}
$lines=$lines+1;
}
}
close(FileHandle);
}
closedir(DIRHANDLE);
相关文章推荐
- 在指定文件夹中的文件中查找包含指定字符的行(这个小东西不错[Perl])
- l查找inux下某个文件夹下包含指定字段的文件
- 查找文件夹下包含指定字符串的文件名字
- perl 循环删除指定文件夹下所有满足条件的文件,不包含文件夹
- linux shell 删除指定文件夹下面 名称不包含指定字符的文件
- Java多线程查找指定文件夹下包含指定关键字的文件数量(未使用线程池版)
- python 查找文件夹下的指定部分路径下的所有文件内匹配的字符 包括子文件夹下的文件
- Java多线程查找指定文件夹下包含指定关键字的文件数量(线程池版)
- Java 查找指定文件夹下的所有文件中包含有中文的文件,并抠出中文
- java 遍历指定目录下的文件夹并查找包含指定关键字的文件
- 【Linux】Linux删除指定文件夹下面 名称不包含指定字符的文件
- Perl初级教程 (5) 遍历文件夹内指定扩展名文件,查找匹配关键字的输出。
- Perl初级教程 (5) 遍历文件夹内指定扩展名文件,查找匹配关键字的输出。
- linux 查找包含指定字符的文件列表 命令
- 获取ftp服务器上指定文件夹的文件列表(包含文件大小)
- ios文件下载实现(包含字符的反转和特定字符查找)
- grep在指定类型的文件中查找字符
- 结合find和cp批量查找文件并复制到指定文件夹中
- 使用grep查找文件中指定字符出现的次数
- [linux]查找当前目录下所有文件内容是否包含某字符