Contact:[email protected]
#!/bin/perl # # Kevin Kadow ([email protected]) <A&NBSP;HREF="HTTP: ? kadow www.msg.nethttp://www.msg.net/kadow/ # Can be downloaded from <A&NBSP;HREF="HTTP: www.msg.net search.html? small utilityhttp://www.msg.net/utility/small/search.html # For 1stomni, free for all to use as long as the comments are kept intact! # # Search and replace strings in html files # require 'find.pl'; # # Change these variables as needed. # $dir="/export/home/worldwide/htdocs"; $search="http://www.1888wwsports.com/1stomni.com/virtuflex.cgi"; $replace="http://www.1888wwsports.com/phpshop/cart.php3?action=add"; warn <<"EOF"; Starting search/replace script $0 Search all files below $dir Looking for string $search Replace the string with $replace EOF # # Do the actual work # &find($dir); warn "Scanned $files making $changes changes.\n"; exit(0); ################ SUBROUTINES FOLLOW ################################# #wanted # # This routine is called by 'find', once for each file, directory, etc. # sub wanted { #Skip everything except files named .html or .shtml return unless( -f $_ && m/\.[s]*html$/); &update("$dir/$_"); } #update # # Do the search-and-replace on a given file # sub update { local($file)=@_; local(@contents); # Open the file for reading and writing (the + does that) unless(open(FILE,"+<$file")) { warn "Cannot open $file for updating, Error: $!\n"; return; } warn "Updating $file\n"; $files++; # Read the contents into an array, replacing the string as we go while ($_=) { $changes += s/$search/$replace/ig; push(@contents,$_); } # Go to the beginning of the file seek(FILE,0,0); # Update the contents with the data from our array print FILE (@contents); close(FILE); } ###EOF### Back to the Index