Finding files containing 'string'
John Summerfied
debian at herakles.homelinux.org
Thu Feb 2 19:51:39 UTC 2006
Daniel Vogel wrote:
>
Give Les the prize:-)
>
>> > I had two suggestions:
>> > 1. gnome-search-tool
>> > 2. find ./ -name "*" -exec grep "string" {} /dev/null \;
>> >
>> > Someone suggested even a better command solution than 2. above but I
>> > can't remember what it is.
>> > --
>>
>> find . -type f -print0 |xargs -0 grep "string"
This selects only files (not symlinks), and copes well wifh path names
containing spaces and other difficult characters.
Here are two small improvements:
find . -type f -print0 |xargs -0 --no-run-if-empty grep -H "string"
Otherwise, xargs may run grep with no filename args, and if grep has one
filename arg it won't list the file name (the point of using /dev/null
in some other examples).
Use of xargs reduces the number of times grep is loaded and run,
sometimes an important matter.
>>
>> should work.
>>
>
> ..err...my sugestion is much simple...
>
> grep -e <string> <files>
>
> the for example:
> grep -e Daniel *.html
This doesn't descend subdirectories (the point of using -r).
Aa compatibility note. Probably not important to all, but I think
recursion is fairly new (say. more recent than RHL 5.x or 6.x) - I don't
remember seeing it before and I did look for it, and I'm sure I've asked
about it. There may be other greps out there that don't support
recursion (or -H for that matter).
>
--
Cheers
John
-- spambait
1aaaaaaa at computerdatasafe.com.au Z1aaaaaaa at computerdatasafe.com.au
Tourist pics http://portgeographe.environmentaldisasters.cds.merseine.nu/
do not reply off-list
More information about the fedora-list
mailing list