2014년 5월 8일 목요일

하위 폴더의 모든 파일에서 특정 문자열을 검색하는 펄스크립트

use strict;
use warnings;
use Cwd;

use File::Find;

my $search_pattern=$ARGV[0];
my $file_pattern  =$ARGV[1];

if (@ARGV <2){
print "Useage: $0 [string to search] [file type]\n";
exit 1;
}

find(\&d, cwd);

sub d {

  my $file = $File::Find::name;

  $file =~ s,/,\\,g;

  return unless -f $file;
  return unless $file =~ /$file_pattern/;

  open F, $file or print "couldn't open $file\n" && return;

  while (<F>) {
    if (my ($found) = m/($search_pattern)/o) {
      print "found $found in $file\n";
      last;
    }
  }

  close F;
}

댓글 없음:

댓글 쓰기