I am using the following to search a directory recursively for specific string and replace it with another:
grep -rl oldstr path | xargs sed -i \'s/oldstr/ne
You can use find and -exec directly into sed rather than first locating oldstr with grep. It's maybe a bit less efficient, but that might not be important. This way, the sed replacement is executed over all files listed by find, but if oldstr isn't there it obviously won't operate on it.
find /path -type f -exec sed -i 's/oldstr/newstr/g' {} \;