rendered paste body#!/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=<INF>;
#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;}