Как искать файлы, содержащие определенное слово?

Как искать файлы, содержащие определенное слово?

37
задан 2 May 2011 в 16:27

4 ответа

С командной строкой у Вас есть несколько опций. 3 я использую большинство...

  1. locate {part_of_word}

    Это предполагает, что Ваша определять-местоположение-база-данных актуальна, но можно обновить это вручную с: sudo updatedb

  2. grep как объяснено dr_willis. Один комментарий: -R после grep также искавший в рамках каталогов. Пример:

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

Где . каталог, где Вы в данный момент и * подстановочный знак.

О, и можно также объединить их. Пример: locate {something}|grep {some_part_of_something}|more

Если я вспоминаю правильно: locate самый быстрый (предполагающий, что Ваша база данных актуальна), и find самый медленный. И grep является самым сложным, но также и самый универсальный из них, так как можно использовать regexes.

51
ответ дан 2 May 2011 в 16:27

Вы можете использовать grep для вывода списка файлов, содержащих word в заданном directory:

grep -Ril word directory

Здесь:
* -R рекурсивно искать файлы в суб -directories.
* -i игнорировать регистр текста
* -l показывать имена файлов вместо частей содержимого файлов. (примечание: -L показывает имена файлов, которые не содержат слова).

используйте man grep, чтобы получить все опции

0
ответ дан 2 May 2011 в 16:27

grep -R "что" "где"

пример:

grep -R hello /home

0
ответ дан 2 May 2011 в 16:27

Для этого обычно используется команда grep.

grep PATTERN filename

и grep могут выполнять очень сложный поиск.

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
0
ответ дан 2 May 2011 в 16:27

Другие вопросы по тегам:

Похожие вопросы: