The following archives are provided as a public service to the community. Opinions archived here do not necessarily represent the opinions of Open for Business or its contributors.
At 11:32 PM 10/16/04, Timothy R. Butler wrote: >Hi everyone, > >PROBLEM: Internet Explorer chokes on a line of code that works great in -- >apparently -- every other browser ever on the face of the earth. > >FIX: Switch the call for a stylesheet from using a relative path to an >absolute path. > >NEW PROBLEM: That change needs to be made in a very large number of files >on my client's site. > >What I need is to find a way to write a quick and dirty batch script that >will edit the right line in each file. > >Grep can find the line just fine. Here's a bit of its output: The problem will be to put the file back over top of the original. I think that will be a bit tricky in a shell script - if you "cat" the input file, then it is still open when you want to replace it. So we start with a shell script (zz) that identifies the files (this assumes they are all in current directory) - args are old and new strings: #!/bin/sh for DD in `grep -l $1 *` do ./zf $DD $1 $2 done where zf contains: #!/usr/bin/perl die "usage ./zf DOMAIN OLDIP NEWIP" unless ( $ARGV[2] ) ; $FD=`cat $ARGV[0]`; $FD=~ s/$ARGV[1]/$ARGV[2]/g; print $FD; open(OUT,">$ARGV[0]"); print OUT $FD ; close(OUT); I must credit my friend Doug for writing these scripts. The original zf was written to update ip addresses in named files, so it had some code (which I removed) to update serial number as well.
| Home |