Como procurar por arquivos contendo palavras específicas?

23

Como procurar arquivos contendo palavras específicas?

    
por UAdapter 02.05.2011 / 14:27

4 respostas

37

Com a linha de comando, você tem várias opções. Os 3 que mais uso são ...

  1. locate {part_of_word}

    Isso pressupõe que seu banco de dados de localização esteja atualizado, mas você pode atualizar isso manualmente com: sudo updatedb

  2. grep como explicado por dr_willis. Uma observação: -R após grep também pesquisou nos diretórios. Exemplo:

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

Em que . é o diretório em que você está no momento e * é um curinga.

Ah, você também pode combinar isso. Exemplo: locate {something}|grep {some_part_of_something}|more

Se bem me lembro: locate é o mais rápido (assumindo que seu banco de dados está atualizado) e find é o mais lento. E grep é o mais complexo, mas também o mais versátil, já que você pode usar regexes.

    
por Rinzwind 02.05.2011 / 14:48
16

grep -R "o que" "onde"

exemplo:

grep -R hello /home

    
por DemonWareXT 02.05.2011 / 15:21
4

O comando grep é comumente usado para isso.

nome do arquivo PATTERN grep

e grep podem fazer pesquisas muito complexas.

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
    
por dr_willis 02.05.2011 / 14:33
1

Você pode usar grep para listar os arquivos que contêm word no dado directory :

grep -Ril word directory
    
por chandan 29.04.2015 / 19:47