Cómo encontrar texto específico usando grep
en Linux. grep
es una forma abreviada de Global Regular Expression Print. Es una de las herramientas más útiles en Linux para buscar una cadena específica sobre archivos de forma recursiva o en un solo archivo.
En esta guía, aprenderá a usar el grep
Comando para varios casos de uso en su máquina Linux.
Casos de uso
- Búsqueda normal en un archivo.
- Búsqueda recursiva sobre directorios.
- Excluyendo archivos.
- Incluyendo archivos.
- Búsqueda de expresiones regulares.
- Uso de grep con otros comandos para filtrar la salida.
Sintaxis del comando grep
grep [OPTIONS] STRING [FILE(S)]
OPCIONES son opcionales e incluyen varios métodos para realizar la búsqueda.
CADENA es requerido que usa la cadena particular para buscar.
ARCHIVO(S) Puede agregar archivos o directorios para realizar la búsqueda o simplemente el .
para buscar en el directorio actual.
Por defecto, grep distingue entre mayúsculas y minúsculas. Si desea ignorar el caso, puede usar el -i
opción que ignora mayúsculas y minúsculas y genera el contenido que tiene minúsculas y mayúsculas.
Búsqueda normal dentro del archivo
Este es el uso más básico del comando grep. Simplemente use el comando con la cadena que necesita buscar y el nombre del archivo.
grep string filename
Este comando buscará el texto dado dentro del archivo proporcionado y generará los resultados.
Búsqueda recursiva que incluye directorios
Para buscar entre todos los archivos que están dentro del directorio, debe usar el -r
opción para realizar una búsqueda recursiva dentro de la carpeta dada.
El -r
opción no seguir los enlaces simbólicos. Si desea buscar a través de enlaces simbólicos, debe usar la mayúscula -R
opción en lugar de pequeño -r
opción.
grep -r string folder-name #Include Symbolic link files grep -R string folder-name
Excluir archivos al usar grep
Puedes usar el --exclude
opción para excluir directorios, archivos específicos o archivos con extensiones específicas.
grep -r string --exclude=filename --exclude=*.png --exclude=folder/* folder-name
Incluir archivos al usar grep
Puedes usar el --include
opción para incluir solo los directorios específicos, archivos específicos o archivos con extensiones específicas.
grep -r string --include=filename --include=*.php --include=folder/* folder-name
Búsqueda de expresiones regulares
Utilice el ^
(símbolo de intercalación) para que coincida con la expresión al comienzo de una línea. En el siguiente ejemplo, el texto string
coincidirá solo si ocurre al principio de una línea.
grep "^string" filename
Utilice el $
(dólar) para que coincida con la expresión al final de una línea. En el siguiente ejemplo, el texto string
coincidirá solo si ocurre al final de una línea.
grep "string$" filename
Utilice el .
(punto) símbolo para que coincida con cualquier carácter único. Por ejemplo, para hacer coincidir cualquier cosa que comience con string1
luego tiene dos caracteres y termina con el texto string2
, podría usar el siguiente patrón.
grep "string1..string2" filename
Utilice [ ]
(corchetes) para que coincida con cualquier carácter individual encerrado entre corchetes. Por ejemplo, busque las líneas que contienen boat
o “coat
, podría usar el siguiente patrón.
grep "[bc]oat" filename
Para escapar del significado especial del siguiente carácter, use el \
(barra invertida).
Usar grep con otros comandos
También puede usar grep para filtrar la salida que se proporciona con otro comando.
ps -ef | grep mysql | grep -v grep
Esto filtrará la salida para mostrar solo los que están con mysql
.
Conclusión
Ahora ha aprendido cómo realizar una búsqueda usando el comando grep con varios métodos en su máquina Linux.
Gracias por tu tiempo. Si tiene algún problema o comentario, deje un comentario a continuación.