Cómo encontrar todos los archivos que contienen texto específico en Linux

Cómo encontrar todos los archivos que contienen texto específico en Linux

Este tutorial le enseñará cómo buscar recursivamente archivos que contienen una cadena específica en Linux usando la línea de comandos. Este tutorial utiliza el comando 'GREP' para buscar cadenas en archivos. Alternativamente, puede usar el comando Buscar archivos con contenido específico.

Una sintaxis básica para buscar el texto con el comando GREP:

GREP -RL "Search -String"/Path/To/Sergch/Dir
1GREP -RL "Search -String"/Path/To/Sergch/Dir

El comando GREP ofrece otras opciones útiles para encontrar texto específico en los sistemas de archivos.

  • -R, -RECURSIVO: Búsqueda de archivos recursivamente
  • -R,-DeRerferencia Recursiva: Buscar archivos de forma recursiva y seguir los enlaces simbólicos
  • --incluir = file_pattern: Busque solo archivos que coincidan con file_pattern
  • --excluir = file_pattern: omita archivos y directorios que coinciden con file_pattern
  • --excluir-From = archivo: omita archivos que coinciden con cualquier patrón de archivo desde el archivo
  • --excluir-dir = patrón: directorios que se omitirá el patrón de coincidencia.
  • -L,-Files sin partidos: Imprimir nombres de archivo que no contienen coincidencia
  • -L,-Files con partidos: Imprimir cadena que contiene nombres de archivo solamente
  • -Yo,-indicador: ignorar el caso de la cadena de búsqueda
  • -e, --regexp = patrón: Use un patrón para buscar o especificar múltiples cadenas de búsqueda
  • -W,--Word-Regexp: fuerza para que coincida con palabras completas

Hay varias formas de usar el comando GREP para buscar texto. Discutamos algunos ejemplos de búsqueda de un texto/cadena en el sistema de archivos.

  1. Buscar una sola cadena en todos los archivos
  2. El comando de ejemplo a continuación buscará la cadena "error" en todos los archivos en el directorio de /var /log y sus subdirectorios.

    GREP -RLW "Error" /var /log  
    Busque texto específico en todos los archivos usando la línea de comandos

  3. Buscar múltiples cadenas en todos los archivos
  4. El -mi El interruptor también se puede utilizar para encontrar múltiples cadenas. Esto es comparable al municipal programa. El siguiente ejemplo buscará "Error" y "Advertencia" en todos los archivos en el /var/log directorio y sus subdirectorios.

    GREP -RLW -E "Error" -e "Advertencia" /var /log  
    Busque múltiples cadenas en todos los archivos con la línea de comandos

  5. Cadena de búsqueda en archivos específicos
  6. Puede buscar cadenas en archivos que coincidan con los criterios del nombre del archivo. El siguiente comando busca "Error" en archivos con el .registro extensión en el /var/log directorio y sus subdirectorios.

    Grep -rlw --include = "*.LOG "-E" Error " /var /log  

  7. Excluir algunos archivos de la búsqueda
  8. Puedes usar el --excluir Opción en Buscar para excluir algunos archivos que coincidan con ciertos criterios de nombre de archivo. Por ejemplo, puede excluir archivos con el .TXT extensión.

    GREP -RLW --exclude = "*.txt "-e" tecadmin " /var /log  

  9. Excluir algunos directorios de la búsqueda
  10. También puede omitir la búsqueda de ciertos directorios. Por ejemplo, no busque archivos de cadena en ninguna carpeta con apache2 en su nombre.

    GREP -RLW --exclude-dir = "*apache2*" -e "tecadmin" /var /log  

Conclusión

Ha aprendido cómo buscar texto específico en archivos en el sistema de archivos de Linux en este tutorial.