您的位置:首页 > 其它

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);

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐