Cómo encontrar todos los archivos que contienen texto específico en Linux
- 4725
- 1108
- Carmen Casillas
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/Dir1 | GREP -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.
- Buscar una sola cadena en todos los archivos
El comando de ejemplo a continuación buscará la cadena "error" en todos los archivos en el directorio de /var /log y sus subdirectorios.
Busque texto específico en todos los archivos usando la línea de comandosGREP -RLW "Error" /var /log
- Buscar múltiples cadenas en todos los archivos
El
-mi
El interruptor también se puede utilizar para encontrar múltiples cadenas. Esto es comparable almunicipal
programa. El siguiente ejemplo buscará "Error" y "Advertencia" en todos los archivos en el /var/log directorio y sus subdirectorios.
Busque múltiples cadenas en todos los archivos con la línea de comandosGREP -RLW -E "Error" -e "Advertencia" /var /log
- Cadena de búsqueda en archivos específicos
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
- Excluir algunos archivos de la búsqueda
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
- Excluir algunos directorios de la búsqueda
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.