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

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

С командной строкой у вас есть несколько вариантов. Я использую больше всего …

  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 является самым сложным, но также и самым универсальным из них, поскольку вы можете использовать регулярные выражения.

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

пример:

grep -R hello /home

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

grep PATTERN имя файла

и 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 

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

 grep -Ril word directory