in reply to recursive multiple search and replace

I usually use a combination of 'find', 'xargs' and 'perl -i.bak -pe' to do this. For example, change all the p's to q's in a tree of HTML documents starting in /htdocs and creating backups to .bak files:

$ find /htdocs -name '*.html' | xargs perl -i.bak -pe 's(p)(q)g'

Shazam!

-sam