wes wrote: > On Wed, Feb 9, 2011 at 11:13 AM, Rich Shepard <[email protected]>wrote: > > >> On Wed, 9 Feb 2011, Fred James wrote: >> >> >>> Which is faster for this purpose (if you know), find or grep? >>> >> Find locates files by name or part of the name. Grep searches for >> strings >> within files. Horses for courses (i.e., different tools for different >> purposes.) >> >> Rich >> >> >> > You are very correct, find by itself will not look inside of a file. > > The two each have their own advantages, and additionally, can be combined > for extra power and precision. > > -wes > find (the directory you want to start with) -type f | xargs file | grep -i text | cut -f1 -d: | xargs grep "the string you want" ... is of course no match for elegance when compared to ... grep -ri "the string you want" (the directory you wish to start in) ... but the question was (if anyone knew off the top of their head) which might be faster ... so off I went to do a little bit of testing ...
Preliminary Results Context is still the biggest issue ... meaning that neither approach magically excludes a long list of somewhat irregular files, and therefore each may spew out a large quantity of undesirable stuff to be waded through. "stuff to be waded through" means tweaking the command to exclude most if not all of that which is "undesirable" while not excluding that which is "desirable". Short answer ... probably not a good idea to run either one beginning with / YMMV Preliminary conclusion ... if you can find what you want the way Rich did (by reasoning), that would be way cool! And a tip of the hat to Hal, as well. Regards Fred James _______________________________________________ PLUG mailing list [email protected] http://lists.pdxlinux.org/mailman/listinfo/plug
