Comando GREP en Linux (Texto de búsqueda en archivos)

Comando GREP en Linux (Texto de búsqueda en archivos)

Grep es una herramienta poderosa para buscar en un texto, Grep significa "impresión de expresión regular global". Básicamente, GREP busca un archivo de texto para la expresión regular especificada y emite cualquier línea que contenga una coincidencia con la salida estándar. Por lo tanto, el comando GREP se puede usar para buscar algún tipo de texto, palabra, patrón o oración en un archivo de texto o una serie de archivos de texto.

  • Leer sugerido: 12 Awesome Linux Find Command Ejemplos

En este tutorial, le mostraremos cómo usar el comando GREP con algunos ejemplos prácticos.

Requisitos previos

  • Un sistema que ejecuta el sistema operativo Linux.
  • Acceso a una línea de terminal/comando.

Para buscar una cadena específica en un archivo

  • Para buscar una cadena tecadmin en el archivo de archivo1.txt, ejecute el siguiente comando:
    Grep Tecadmin file1.TXT 

    Este comando imprimirá todas las líneas que contienen una palabra tecadmin:

    Tecadmin es un popular blog de Linux I Love Tecadmin Tecadminlinux 

  • Para buscar una cadena exacta tecadmin en el archivo de archivo1.txt, ejecute el siguiente comando:
    GREP -W TECADMIN FILE1.TXT 

    Este comando imprimirá todas las líneas que contienen una palabra completa tecadmin:

    Tecadmin es un popular blog de Linux I Love Tecadmin 

  • Para buscar un caso de Tecadmin de cadena de manera insensible en el archivo de archivo1.txt, ejecute el siguiente comando:
    GREP -I TECADMIN FILE1.TXT 

    Este comando imprimirá todas las líneas que contienen un caso de palabra tecadmin de manera insensible:

    Tecadmin es un popular blog de Linux I love Tecadmin Tecadminlinux Tecadmin es mi blog favorito Este es el sitio web de Tecadmin 

Para buscar una cadena específica en múltiples archivos

  • Para buscar una cadena Linux en el archivo de archivo1.txt y file2.txt, ejecute el siguiente comando:
    GREP -I LINUX FILE1.archivo txt2.TXT 

    Este comando imprimirá todas las líneas que contienen una palabra Linux en el archivo1.txt y file2.TXT:

    archivo1.txt: tecadmin es un popular archivo de blog de Linux1.txt: tecadminlinux file2.TXT: Linux es un sistema operativo de código abierto. archivo2.txt: Linux está hecho por Linus Torvalds. archivo2.txt: Linux es el sistema operativo más popular. 

  • Para buscar una cadena de Linux en todos los archivos en el directorio actual y los subdirectorios, ejecute el siguiente comando:
    Grep -r Linux * 

    Este comando imprimirá todas las líneas que contienen una palabra Linux en todos los archivos en el directorio y subdirectorios actuales:

    archivo1.txt: tecadmin es un popular archivo de blog de Linux1.txt: tecadminlinux file2.txt: Linux está hecho por Linus Torvalds. archivo2.txt: Linux es el sistema operativo más popular. archivo3.TXT: Linux vs Windows File3.txt: Ubuntu es un sistema operativo Linux 

Búsqueda inversa de GREP

Puede usar el comando GREP con la opción -v para imprimir todas las líneas que no coinciden con un patrón específico de caracteres.

Por ejemplo, imprima todas las líneas que no contienen la cadena Linux en el archivo1.txt y file2.txt, ejecute el siguiente comando:

GREP -V LINUX FILE1.archivo txt2.TXT 

Este comando excluirá todas las líneas que contienen la cadena Linux:

archivo1.txt: me encanta tecadmin file1.txt: tecadmin es mi archivo de blog favorito1.txt: este es el archivo del sitio web de Tecadmin2.TXT: Linux es un sistema operativo de código abierto. 

Para enumerar los nombres de archivo que coinciden con un patrón específico

Puede mostrar solo nombres de archivo que contienen una cadena específica usando -L opción.

Por ejemplo, enumere todos los nombres de archivo en el directorio actual que coincida con la cadena tecadmin, ejecute el siguiente comando:

Grep -l Tecadmin * 

Debería ver la siguiente salida:

archivo1.TXT 

Muestra el número de partidos

Puede usar la opción GREP con -c para mostrar todos los archivos con el número de líneas que coinciden con la cadena dada.

Por ejemplo, para mostrar todos los archivos con el número de líneas que coinciden con una cadena de Linux en el directorio actual, ejecute el siguiente comando:

Grep -C Linux * 

Debería ver la siguiente salida:

archivo1.txt: 2 file2.txt: 2 file3.txt: 2 

Mostrar número de línea con patrón coincidente

Puede usar la opción GREP con -n para imprimir números de línea con patrones coincidentes.

Por ejemplo, para mostrar el número de línea que coincida con el patrón Linux en el directorio actual, ejecute el siguiente comando:

Grep -n Linux * 

Debería ver la siguiente salida:

archivo1.txt: 1: Tecadmin es un archivo de blog de Linux popular1.txt: 3: archivo tecadminlinux2.txt: 2: Linux está hecho por Linus Torvalds. archivo2.txt: 3: Linux es el sistema operativo más popular. archivo3.txt: 1: archivo de Linux vs Windows3.txt: 2: Ubuntu es un sistema operativo Linux 

También puede mostrar una línea antes y después de la cadena coincidente usando la opción C y N con el comando GREP.

Por ejemplo, muestre una línea antes y después de la cadena coincidente Linux en file4.txt, ejecute el siguiente comando:

GREP -N -C 1 LINUX FILE4.TXT 

Debería ver la siguiente salida:

1-Hi, soy Tecadmin Usuario 2: Soy el sistema operativo Linux 3-Soy Sistema operativo de Windows 

Mostrar solo el patrón de coincidencia

Por defecto, el comando GREP imprime toda la línea que coincide con un patrón.

Puede imprimir solo patrones coincidentes usando la opción -o.

Por ejemplo, busque el archivo1.txt que coincide con la cadena/patrón Linux con el siguiente comando:

Grep -O Linux File1.TXT 

Debería ver la siguiente salida:

Linux Linux 

Conclusión

En el tutorial anterior, aprendió cómo usar el comando GREP para buscar una cadena específica en los archivos. Espero que ahora tengas suficiente conocimiento del comando GREP y cómo se usa en varias condiciones.