I found this method the other day. Unfortunately, I forget where.
$ for f in `ls -1 | grep string`; do mv $f ${f/string/replace};done
I’d like to find a method of using the bash command `find’, but this is pretty clean, and I don’t yet know how to manipulate the `{}’ in find -exec {} \;
great site for explaining bash variable manipulation.

2 Comments
I also really like Robin Barker’s perl rename script:
http://tips.webdesign10.com/files/rename.pl.txt
you can use find using find instead of ls -1