(find.info.gz) Contents
Info Catalog
(find.info.gz) Mode Bits
(find.info.gz) Finding Files
(find.info.gz) Directories
2.8 Contents
============
To search for files based on their contents, you can use the `grep'
program. For example, to find out which C source files in the current
directory contain the string `thing', you can do:
grep -l thing *.[ch]
If you also want to search for the string in files in subdirectories,
you can combine `grep' with `find' and `xargs', like this:
find . -name '*.[ch]' | xargs grep -l thing
The `-l' option causes `grep' to print only the names of files that
contain the string, rather than the lines that contain it. The string
argument (`thing') is actually a regular expression, so it can contain
metacharacters. This method can be refined a little by using the `-r'
option to make `xargs' not run `grep' if `find' produces no output, and
using the `find' action `-print0' and the `xargs' option `-0' to avoid
misinterpreting files whose names contain spaces:
find . -name '*.[ch]' -print0 | xargs -r -0 grep -l thing
For a fuller treatment of finding files whose contents match a
pattern, see the manual page for `grep'.
Info Catalog
(find.info.gz) Mode Bits
(find.info.gz) Finding Files
(find.info.gz) Directories
automatically generated by
info2html