142536a 发表于 2015-12-26 10:35:38

在指定文件夹中的文件中查找包含指定字符的行(这个小东西不错[Perl])

#!/usr/bin/perl -w
printf"write the path you want to search files:";
$searchdir=<STDIN>;
chomp $searchdir;
printf "Input search string:";
$searchstr=<STDIN>;
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);
页: [1]
查看完整版本: 在指定文件夹中的文件中查找包含指定字符的行(这个小东西不错[Perl])