Tutorial

¿Qué es el comando GREP en Linux? ¿cómo usarlo?

El comando grep, es el acrónimo de «Global Regular Expresion Print» que significa «impresión de expresión regular global». Su funcionamiento se basa en procesar texto línea por línea e imprimir cualquier línea que coincida con el patrón especificado. Su comportamiento por defecto puede ser modificado mediante el uso de argumentos al momento de ejecutarlo.

¿Qué es el comando GREP en Linux?

Grep es considerado como uno de los comandos más útiles en Linux y sistemas operativos tipo Unix por su potente buscador de patrones en archivos. Ya viene instalado en todos los sistemas Linux, por lo que no es necesario instalarlo manualmente.

Qué es el comando GREP en Linux

Sintaxis para usar el comando grep

[code] grep [Opciones] [Cadena de búsqueda] [Ruta del archivo] [/code]

Ahora que ya sabemos de que se trata, sigamos con algunos usos muy prácticos. A efectos de ejemplos, supongamos que tenemos un archivo llamado ejemplo.txt.

Buscar una cadena

[code]grep linux ejemplo.txt [/code]

Colorea la cadena buscada

Con esta variación hacemos que resalte en color las cadenas que coincidan en la búsqueda. Para ello agregamos el argumento –color.

[code]grep –color linux ejemplo.txt [/code]

Buscar cadenas insensibles a mayúsculas y minúsculas

Usando grep por defecto, solo tomara como coincidencias aquellas cadenas donde sus mayúsculas y minúsculas sean iguales. Es decir, «linux», «Linux» y «LINUX» serian tres búsquedas diferentes.

Sin embargo, si lo que requieres es que sea considerado como una coincidencia cualquiera de los tres casos, podemos buscar cadenas insensibles a mayúsculas y minúsculas utilizando el comando grep con el argumento -i.

[code]grep –color -i linux ejemplo.txt[/code]

Buscar cadena en varios archivos

Grep nos permite buscar una cadena de múltiples archivos. Supongamos que tengo un directorio llamado «ejemplos» y dentro tengo los archivos «ejemplo1.txt» y «ejemplo2.txt» y deseo buscar la palabra linux en ambos archivos.

[code] # grep –color -i linux ejemplo1.txt ejemplo2.txt[/code]

Donde la salida seria algo similar a esto:

[code]ejemplo1.txt: linux es un sistema operativo de fuente abierta.
ejemplo2.txt: Linux es un sistema operativo de código abierto.[/code]

Buscar múltiples cadenas

Puedes buscar múltiples cadenas. Por ejemplo:

[code] grep -i ‘linux \ | ubuntu ‘ ejemplo.txt[/code]

Búsqueda por tipo de archivos

Grep también nos permite buscar en varios archivos indicando su tipo. A continuación la sintaxis:

[code]grep -i linux * .txt[/code]

Modo búsqueda invertida

Otra buena característica que tenemos en el comando grep es la búsqueda invertida. Esto significa que buscará solo aquellas líneas que no contengan la cadena buscada.

[code]grep -v linux file.txt[/code]

Puede interesarte: Cómo eliminar archivos en Linux de forma permanente y sin dejar rastro.

Buscando recursivamente

Se emplea para buscar una cadena en un directorio y también en todo el subdirectorio contenido dentro de este. Es decir, tengo un directorio llamado «Datos» que contiene algunos archivos txt con algún contenido y también tiene un subdirectorio llamado ejemplos (es decir, / Datos / ejemplos ) que también contiene algunos archivos txt.

Si queremos buscar la cadena linux en los datos del directorio y también en todos los subdirectorios que contiene, utilizamos el argumento -r.

[code] grep -r "linux" Datos / [/code]

Imprime el número de línea de la coincidencia

El comando grep con argumento -n le mostrará el número de línea donde la cadena está disponible en el archivo.

[code] grep -n "linux" Datos/ [/code]

Imprimir el número de coincidencias encontradas

Con el argumento -c mostrará el número total de veces que se repite la cadena en el archivo.

[code] grep -i -c linux ejemplo.txt[/code]

Buscar coincidencias exactas

Si usamos grep sin argumentos nos mostrara todas las lineas donde se contiene la cadena, pero incluyendo aquellas donde este contenida en otra palabra. Supongamos que la buscando la cadena linux, luego grep busca toda esa palabra que contiene linux, por ejemplo: elinuxbook , linuxbooks , linuxtraining , etc. Así que aquí la coincidencia exacta significa que solo buscará la palabra linux y no otra. Para ello empleamos el argumento -w.

[code] grep -w "linux" ejemplo.txt[/code]

Buscar una línea coincidente exacta

Al igual que la cadena coincidente exacta, se puede buscar la línea coincidente exacta utilizando el argumento -x.

[code] # grep -x "linux es un sistema operativo de código abierto". ejemplo.txt [/code]

Verificar la versión instalada

Puede verificar la versión del paquete grep instalado usando el comando con el argumento -V.

[code] grep -V[/code]

Adicionalmente, si quieres consultar más opciones de comando grep, utiliza el siguiente comando en tu sistema Linux.

[code] man grep [/code]

Si encontraste útil este artículo, compártelo! O, si tienes algo que decir, no dudes en dejarlo en los comentarios.

Yeraldine

Lcda. en Computación, Programadora, Apasionada por el Desarrollo Web. A veces Bellydancer, otras veces Yogui. Amo viajar, los libros y la música. En mis RRSS: @yerita02

Publicaciones relacionadas

Un comentario

Deja una respuesta

Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar mi política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected].

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Acepto la política de privacidad *

Botón volver arriba