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