#!/usr/local/bin/perl $filesfound=0; $filesmodified=0; #$dir = "/home/megabyte"; $dir = @ARGV[0]; $search = @ARGV[1]; opendir(DIR,$dir) or &dirnotfound($dir); #$search = "Forgot your password?"; $countage = "0"; print "\nSearching for $search in $dir\n"; $starttime=time; recursedir ($dir,$search); sub recursedir($$) { my($dir) = shift @_; my($search) = shift @_; if(opendir(DIR, "$dir")) { for my $file(grep { !/^\./ } readdir DIR) { if(-d "$dir/$file") { recursedir ("$dir/$file",$search); } else{ open(INF,"$dir/$file") or print "fail\n"; @filecontent=; #print("$file\n"); close(INF); $found = 0; foreach $line (@filecontent) { ++$countage; if ($line =~ /$search/i ) { $found = 1; } } if ($found == 1) { ++$filesfound; print "$dir/$file\n"; if ( chmod 0000,"$dir/$file") { print "CHMODDED to 0\n"; } } } } closedir DIR; } } #Output result of search and replace to user print "\nFinished searching for $search in dir: $dir @ ".(time-($starttime))." seconds.\n"; print "Number of file(s) containing search keyword(s): $filesfound\n"; print "Scanned $countage files.\n"; exit; #Exit sub dirnotfound {print "Error: $_[0] directory not found."; exit;}