¿Qué es el comando GREP en Linux? ¿cómo usarlo?
miércoles , agosto 15 2018
Inicio / Tutorial / ¿Qué es el comando GREP en Linux? ¿cómo usarlo?

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

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

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

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

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

grep linux ejemplo.txt 

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.

grep --color linux ejemplo.txt 

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.

grep --color -i linux ejemplo.txt

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.

 # grep --color -i linux ejemplo1.txt ejemplo2.txt

Donde la salida seria algo similar a esto:

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

Buscar múltiples cadenas

Puedes buscar múltiples cadenas. Por ejemplo:

 grep -i 'linux \ | ubuntu ' ejemplo.txt

Búsqueda por tipo de archivos

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

grep -i linux * .txt

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.

grep -v linux file.txt

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.

 grep -r "linux" Datos / 

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.

 grep -n "linux" Datos/ 

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.

 grep -i -c linux ejemplo.txt

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.

 grep -w "linux" ejemplo.txt

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.

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

Verificar la versión instalada

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

 grep -V

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

 man grep 

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

Sobre 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

Te recomendamos

Snap en LInux

Que son los Snap y como instalarlos

Que son los Snap y como instalarlosDeja tu gusta Si eres nuevo en Linux seguramente …

Un comentario

  1. Muy bien explicado, me ha faltado alguna screen con ejemplo práctico para ver la salida de datos cuando aplicas el comando.

Deja un comentario

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 ayudalinux2016@gmail.com.

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

Acepto la política de privacidad *