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


37

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


5
Вы на самом деле имеете в виду поисковый файл NAMES, содержащий в себе определенное слово? то есть: все файлы, в именах которых есть термин FUN, FUN_time.txt FUN_stuff.txt Или поиск ВНУТРИ файла для конкретных слов?
dr_willis

Ответы:


51

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

  1. locate {part_of_word}

    Это предполагает, что ваша база данных locate обновлена, но вы можете обновить ее вручную с помощью: 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это самый сложный, но и самый универсальный из них, так как вы можете использовать регулярные выражения.



4

Для этого обычно используется команда 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

3
или вы можете сделать «rgrep word». рекурсивно искать в каждом файле и подкаталоге слово "
Джереми Бича

4

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

grep -Ril word directory

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

использовать, man grepчтобы получить все варианты


3
Просто чтобы вы знали: -iвыполняет поиск без учета регистра.
Дэвид Фёрстер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.