If you are using SCO, you should use the SCO forum for more specific questions (this one is fine here or there)
But it actually isn't a simple question
The general answer is to use find, and the simplistic approach is
find /whereveryouwantostart -exec grep whatever {} dev/null \;
That's not necessarily very efficient. Using xargs can help
find . | xargs grep whatever
But it also has bugs if the filenames could have "-" at their beginning. Fixing that can be a little nasty.
You may not want to grep binary files:
find . -type f -print|xargs file|grep -i text|cut -fl -d: | xargs grep whatever
That's pretty awful, but it's what you have to get into if you have special cases. Special cases are what makes this question more difficult. If you have a small number of files and subdirs to search, the simple approach may work fine for you. If not, you have to get more creative.
Tony Lawrence
SCO Unix/Linux Resources
tony@pcunix.com