This has problems if you have spaces in your filenames.
find /path -exec perl -pi.bak -e 's/Search/Replace/g' \{\} \;
Then remove the .bak files. If you are brave, try it without the .bak (no
backups)
Jay
On October 23, 2:22 pm Adam Maloney <adamm at sihope.com> wrote:
> for X in `ls -1`; do
> sed s/Search/Replace/g $X > $X.tmp
> mv $X.tmp $X
> done
>
> ??
>
> Backup, test, and backup again before trying it :)
>
> On Thu, 2003-10-23 at 13:53, Chris Frederick wrote:
> > Hey gang,
> >
> > This may have been covered before, but I was wondering how I can find
> > and replace in files. I've seen a couple of ways to do this, but the
> > ones I've tried are botched up in some way. Here's an example of
> > what I'd like to do:
> >
> > /dir contains about 150 files in it.
> > egrep "/^[ \t]some (fancy[.]+regex).*$/" *.files - shows 20 files
> > with matching lines.
> > I'd like to "s/^[ \t]some .+(fancy.+regex).*$/\1/" on those files.
> >
> > a script like this is doable:
> > for file in dir
> > ex "+:g/find/s//replace/" "+:wq" file
> >
> > but I can't help but think there's a better way, and one with more
> > features like being able to recurse through directories, or is
> > faster, etc. Is there a egrep/grep/etc tool that can do this? Or
> > what tool would you recommend?
> >
> > Thanks in advance...
> > Chris Frederick
> >
> >
> >
> > _______________________________________________
> > TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
> > http://www.mn-linux.org tclug-list at mn-linux.org
> > https://mailman.real-time.com/mailman/listinfo/tclug-list
> >
>
>
> _______________________________________________
> TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
> http://www.mn-linux.org tclug-list at mn-linux.org
> https://mailman.real-time.com/mailman/listinfo/tclug-list
_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
http://www.mn-linux.org tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list