¿Cómo buscar archivos que contengan palabras específicas?
¿Cómo buscar archivos que contengan palabras específicas?
Respuestas:
Con la línea de comando tienes varias opciones. Los 3 que más uso son ...
locate {part_of_word}
Esto supone que su base de datos de localización está actualizada, pero puede actualizarla manualmente con: sudo updatedb
grep
según lo explicado por dr_willis. Una observación: -R
después grep
también buscó en los directorios. Ejemplo:
cd\
grep -R {something_to_look_for} {where_to_look_in}
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: locate
es el más rápido (suponiendo que su base de datos esté actualizada) y find
el más lento. Y grep
es el más complejo pero también el más versátil de estos, ya que puede usar expresiones regulares.
grep -R "qué" "dónde"
ejemplo:
grep -R hello /home
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
Puede usar grep
para enumerar los archivos que contienen word
en el dado directory
:
grep -Ril word directory
Aquí:
* -R
búsqueda recursiva de archivos en subdirectorios.
* -i
ignorar mayúsculas
y minúsculas * -l
mostrar nombres de archivos en lugar de porciones de contenido de archivos. (nota: -L
muestra los nombres de archivo que no contienen la palabra).
use man grep
para obtener todas las opciones
-i
realiza una búsqueda que no distingue entre mayúsculas y minúsculas.