38

How to search for files containing specific word?

  • 6
    Do you actually mean search file NAMES containing with a specific word in them? ie: all files that have the term FUN in their names, , FUN_time.txt FUN_stuff.txt Or search INSIDE a file for specific words? – dr_willis May 2 '11 at 13:39
54

With command line you have several options. The 3 I use the most are...

  1. locate {part_of_word}

    This assumes your locate-database is up to date but you can update this manually with: sudo updatedb

  2. grep as explained by dr_willis. One remark: -R after grep also searched within directories. Example:

    cd\
    grep -R {something_to_look_for} {where_to_look_in}
    
  3. find . -name '*{part_of_word}*' -print

Where . is the directory where you are at the moment and * is a wildcard.

Oh and you can also combine these. Example: locate {something}|grep {some_part_of_something}|more

If I recall correctly: locate is the fastest one (assuming your database is up to date) and find is the slowest one. And grep is the most complex but also the most versatile one of these since you can use regexes.

| improve this answer | |
28

grep -R "what" "where"

example:

grep -R hello /home

| improve this answer | |
5

The grep command is commonly used for this.

grep PATTERN filename

and grep can do some very complex searching.

willis@Cow:~$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c
| improve this answer | |
  • 3
    or you can do "rgrep word ." to recursively search every file and subdirectory for "word" – Jeremy Bicha May 2 '11 at 12:48
5

You can use grep to list the files containing word in the given directory:

grep -Ril word directory

Here:
* -R recursively search files in sub-directories.
* -i ignore text case
* -l show file names instead of file contents portions. (note: -L shows file names that do not contain the word).

use man grep to get all the options

| improve this answer | |
  • 3
    Just so you know: -i performs a case-insensitive search. – David Foerster Feb 11 '16 at 10:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.