Uso del comando grep para búsquedas avanzadas en Linux
Clase 15 de 23 • Curso de Introducción a la Terminal y Línea de Comandos
Resumen
Si ya sabes como usar los comandos de búsqueda como el comando find
, aquí aprenderás como buscar texto dentro de un archivo con el comando grep
.
¿Que´ significa grep?
"Grep" significa Global Regular Expression Print.
El comando grep utiliza regex (Regular Expression) para realizar su búsqueda, si no sabes como armar un regex aquí tienes el Curso de Expresiones Regulares
La sintaxis es sencilla: comando, lo que quieres buscar, archivo:
grep [ExpresiónRegular] [archivoDondeBuscar]
En los recursos tienes un archivo llamado "movies.csv"; vamos a buscar palabras dentro de ese archivo:
grep the movies.csv
Cómo usar el comando grep
Ignorar case sensitive (-i)
Puede que queramos buscar la palabra "Action" pero eso dará exclusivamente las coincidencias con la "A" mayúscula. Esto lo podemos ignorar con la opción -i, que buscará independientemente de si la letra "A" es mayúscula o minúscula.
grep -i Action movies.csv
Contar ocurrencias (-c)
Si quieres saber cuántas veces se repite una palabra, usa la opción -c
seguida de la palabra que quieres buscar.
grep -c Drama movies.csv
Excluir una expresión (-v)
Para saber cuáles son los resultados que NO coinciden con tu expresión regular, usas la opción -v
.
Por ejemplo, si queremos contar todas las películas que no son de drama, escribimos:
grep -cv Drama movies.csv
Limitar la búsqueda (-m)
Para no buscar en todo el archivo, sino las primeras ocurrencias, podemos limitar la búsqueda en líneas con la opción -m
seguida del número de líneas que queremos encontrar.
Por ejemplo, si queremos buscar las primeras 10 líneas que concuerden con la palabra "Fan" escribimos:
grep -m 10 Fan movies.csv
Tabla de funciones de grep
| Opción | Función | | --- | --- | | -m | Limita las líneas de la búsqueda | | -c | Cuenta las ocurrencias | | -v | Excluye las ocurrencias | | -i | Ignora él case sensitive |
Contribución creada por: Miguel Gonzalez.