¿Cómo buscar archivos que contengan palabras específicas?


37

¿Cómo buscar archivos que contengan palabras específicas?


55
¿En realidad te refieres a los nombres de archivos de búsqueda que contienen una palabra específica en ellos? es decir: todos los archivos que tienen el término FUN en sus nombres, FUN_time.txt FUN_stuff.txt ¿O buscar DENTRO de un archivo para palabras específicas?
dr_willis

Respuestas:


51

Con la línea de comando tienes varias opciones. Los 3 que más uso son ...

  1. locate {part_of_word}

    Esto supone que su base de datos de localización está actualizada, pero puede actualizarla manualmente con: sudo updatedb

  2. grepsegún lo explicado por dr_willis. Una observación: -Rdespués greptambién buscó en los directorios. Ejemplo:

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

¿Dónde .está el directorio donde se encuentra en este momento y *es un comodín?

Ah, y también puedes combinarlos. Ejemplo: locate {something}|grep {some_part_of_something}|more

Si no recuerdo mal: locatees el más rápido (suponiendo que su base de datos esté actualizada) y findel más lento. Y grepes el más complejo pero también el más versátil de estos, ya que puede usar expresiones regulares.



4

El comando grep se usa comúnmente para esto.

grep PATTERN filename

y grep puede hacer una búsqueda muy compleja.

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
o puedes hacer "rgrep word". buscar de forma recursiva en cada archivo y subdirectorio "palabra"
Jeremy Bicha

4

Puede usar greppara enumerar los archivos que contienen worden el dado directory:

grep -Ril word directory

Aquí:
* -Rbúsqueda recursiva de archivos en subdirectorios.
* -iignorar mayúsculas
y minúsculas * -lmostrar nombres de archivos en lugar de porciones de contenido de archivos. (nota: -Lmuestra los nombres de archivo que no contienen la palabra).

use man greppara obtener todas las opciones


3
Para que lo sepas: -irealiza una búsqueda que no distingue entre mayúsculas y minúsculas.
David Foerster
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.