30 ejemplos de Grep

Grep es una herramienta de línea de comandos que se utiliza comúnmente en sistemas operativos Unix y Linux para buscar patrones específicos en archivos de texto. Esta herramienta es muy poderosa y flexible, por lo que puede ser utilizada por programadores, administradores de sistemas y usuarios avanzados de Linux.
En este artículo, vamos a explorar 30 ejemplos de uso de la herramienta de línea de comandos Grep. Estos ejemplos cubrirán los siguientes temas: búsqueda de patrones de texto en archivos, búsqueda en una lista de archivos, búsqueda recursiva en un directorio, búsqueda de patrones inversos, búsqueda y conteo de líneas que coinciden con un patrón, y búsquedas con expresiones regulares.
- Búsqueda de patrones de texto en archivos
- Búsqueda en una lista de archivos
- Búsqueda recursiva en un directorio
- Búsqueda de patrones inversos
- Búsqueda y conteo de líneas que coinciden con un patrón
- Búsquedas con expresiones regulares
- Codificación de caracteres
- Búsqueda de archivos por fecha o tiempo de modificación
Búsqueda de patrones de texto en archivos
El siguiente bloque de ejemplos mostrará cómo buscar patrones de texto en un solo archivo.
Ejemplo 1: Buscar una línea con un patrón específico en un archivo
Para buscar una línea en un archivo que coincida con un patrón específico, se puede utilizar el siguiente comando:
grep "patrón" archivo
Este comando devolverá todas las líneas en el archivo que coincidan con el patrón especificado.
Ejemplo 2: Mostrar las líneas que no coincidan con el patrón especificado en un archivo
Si desea buscar las líneas en un archivo que no coincidan con un patrón específico, puede utilizar el siguiente comando:
grep -v "patrón" archivo
Este comando devolverá todas las líneas en el archivo que no coincidan con el patrón especificado.
Ejemplo 3: Buscar un patrón ignorando mayúsculas y minúsculas
Para buscar un patrón en un archivo y también coincidir con mayúsculas o minúsculas, se puede utilizar el siguiente comando:
grep -i "patrón" archivo
Este comando devolverá todas las líneas en el archivo que coincidan con el patrón especificado, ignorando las mayúsculas y minúsculas.
Búsqueda en una lista de archivos
El siguiente bloque de ejemplos mostrará cómo buscar patrones de texto en una lista de archivos.
Ejemplo 4: Buscar un patrón en múltiples archivos
Para buscar un patrón en múltiples archivos, puede utilizar el siguiente comando:
grep "patrón" archivo1 archivo2 archivo3
Este comando devolverá todas las líneas en cada archivo que coincidan con el patrón especificado.
Ejemplo 5: Buscar patrones en todos los archivos en un directorio
Para buscar patrones de texto en todos los archivos de un directorio específico, debe utilizar el siguiente comando:
grep "patrón" /ruta/a/directorio/*
Este comando buscará el patrón en todos los archivos del directorio especificado.
Ejemplo 6: Buscar patrones en todos los archivos de diferentes tipos
Para buscar patrones de texto en todos los archivos de diferentes tipos, puede utilizar el comando find junto con Grep:
find /ruta/a/directorio -type f -name "*.txt" -exec grep "patrón" {} ;
Este comando buscará todos los archivos con extensión .txt en el directorio especificado y luego buscará el patrón en cada uno de esos archivos.
Búsqueda recursiva en un directorio
En este bloque, veremos cómo buscar patrones recursivamente en un directorio y sus subdirectorios.
Ejemplo 7: Buscar patrones en todos los archivos de un directorio y sus subdirectorios
Para buscar patrones de texto en todos los archivos de un directorio y sus subdirectorios, puede utilizar el siguiente comando:
grep -r "patrón" /ruta/a/directorio
Este comando buscará el patrón en todos los archivos dentro del directorio especificado, así como en sus subdirectorios.
Ejemplo 8: Buscar archivos que contengan un patrón específico en su nombre en un directorio y sus subdirectorios
Para buscar archivos que contengan un patrón específico en su nombre en un directorio y sus subdirectorios, puede utilizar el siguiente comando:
find /ruta/a/directorio -type f -name "*patrón*" -exec grep "texto" {} ;
Este comando buscará todos los archivos que contengan el patrón en su nombre, y luego buscará el patrón en el contenido de cada archivo.
Búsqueda de patrones inversos
El siguiente bloque mostrará cómo buscar patrones inversos.
Ejemplo 9: Buscar líneas que no contengan un patrón específico en un archivo
Para buscar líneas en un archivo que no contengan un patrón específico, puede utilizar el siguiente comando:
grep -v "patrón" archivo
Este comando devolverá todas las líneas en el archivo que no contengan el patrón especificado.
Ejemplo 10: Buscar un patrón específico que no esté en un archivo
Si desea buscar un patrón específico que no esté presente en un archivo, puede utilizar el siguiente comando:
grep -L "patrón" archivo
Este comando devolverá una lista de todos los archivos que no contengan el patrón especificado.
Búsqueda y conteo de líneas que coinciden con un patrón
El siguiente bloque de ejemplos mostrará cómo buscar y contar las líneas que coinciden con un patrón.
Ejemplo 11: Contar líneas que coinciden con un patrón en un archivo
Para contar el número de líneas en un archivo que coinciden con un patrón específico, puede utilizar el siguiente comando:
grep -c "patrón" archivo
Este comando mostrará el número de líneas que contienen el patrón especificado en el archivo.
Ejemplo 12: Contar el número de veces que se repite un patrón en un archivo
Para contar el número de veces que se repite un patrón específico en un archivo, puede utilizar el siguiente comando:
grep -o "patrón" archivo | wc -l
Este comando mostrará el número de veces que se repite el patrón en el archivo.
Ejemplo 13: Buscar patrones en un archivo y mostrar las líneas cercanas a ellos
Para buscar patrones en un archivo y mostrar las líneas cercanas a ellos, puede utilizar el siguiente comando:
grep -C 3 "patrón" archivo
Este comando mostrará las tres líneas antes y después de cada línea que contenga el patrón especificado.
Búsquedas con expresiones regulares
El siguiente bloque de ejemplos mostrará cómo utilizar expresiones regulares en las búsquedas.
Ejemplo 14: Utilizar una expresión regular para buscar un patrón en un archivo
Para utilizar una expresión regular para buscar un patrón en un archivo, puede utilizar el siguiente comando:
grep "expresión regular" archivo
Este comando buscará el patrón utilizando la expresión regular especificada en el archivo.
Ejemplo 15: Utilizar un rango para buscar patrones en un archivo
Para utilizar un rango para buscar patrones en un archivo, puede utilizar el siguiente comando:
grep "[A-Za-z]{5}" archivo
Este comando buscará todas las líneas que contengan cinco letras consecutivas.
Ejemplo 16: Utilizar caracteres comodín para buscar patrones en un archivo
Para utilizar caracteres comodín para buscar patrones en un archivo, puede utilizar el siguiente comando:
grep "pa.*ón" archivo
Este comando buscará todas las líneas que contengan la secuencia "pa" seguida de cualquier número de caracteres seguida de la secuencia "ón".
Codificación de caracteres
El siguiente bloque mostrará cómo buscar patrones en archivos codificados.
Ejemplo 17: Buscar patrones en un archivo codificado en UTF-8
Si desea buscar patrones en un archivo codificado en UTF-8, puede utilizar el siguiente comando:
grep "patrón" archivo --encoding=utf-8
Este comando buscará el patrón en el archivo codificado en UTF-8.
Ejemplo 18: Buscar patrones en un archivo codificado en ISO-8859-1
Para buscar patrones en un archivo codificado en ISO-8859-1, puede utilizar el siguiente comando:
grep "patrón" archivo --encoding=ISO-8859-1
Este comando buscará el patrón en el archivo codificado en ISO-8859-1.
Búsqueda de archivos por fecha o tiempo de modificación
En este bloque, veremos cómo buscar archivos por fecha o tiempo de modificación.
Ejemplo 19: Buscar archivos modificados en las últimas 24 horas
Para buscar archivos que hayan sido modificados en las últimas 24 horas, puede utilizar el siguiente comando:
find /ruta/a/directorio -type f -mtime -1
Este comando buscará todos los archivos que hayan sido modificados en las últimas 24 horas.
Ejemplo 20: Buscar archivos modificados después de una fecha específica
Para buscar archivos que hayan sido modificados después de una fecha específica, puede utilizar el siguiente comando:
find /ruta/a/directorio -type f -newermt "2021-
[nekopost slugs="hacer-shell-script-sh-espera-la-entrada-de-entrada-del-usuario,fijo-comando-pip-no-encontrado-bash,generar-una-fiesta-de-cadena-aleatoria,bash-script-devuelve-diferentes-codigos-de-retorno-salida,cambiar-el-nombre-de-la-fiesta-de-archivos,eliminar-lineas-vacias-usando-sed,comando-de-prueba-de-bash,no-es-igual-a-la-fiesta,bloquear-comentarios-en-shell-script-bash"]

Deja una respuesta