Matthew, > I occasionally need to search for every occurrence of a string in many (if > not all) the files in a directory tree. I can usually just do a > grep -ns string `find /path/to/tree -name "*" -print` | more > However, sometimes I get the, "Too many words from ``" message and no other > output. The command between the ` ` marks, as you know, is interpreted by the shell before the grep command runs. You may be exceeding the maximum length of a command line under Linux, which is a really large but not infinite number of characters (I forget exactly how big). I don't think your problem is with grep itself. Try using a modified find command instead to do the grep. This command should be the exact (but shorter) equivalent of the command above: find /path/to/tree -name '*' -exec grep -ns string {} \; -print | more There may be some slight formatting differences between the two commands that you can solve with awk or perl or some other tool. -- Jim Ockers (ockers@ockers.net) Ask me about Linux! Contact info: please see http://www.ockers.net/ Fight Spam! Join CAUCE (Coalition Against Unsolicited Commercial Email) at http://www.cauce.org/ .