Cómo encontrar una cadena o palabra específica en archivos y directorios
- 5027
- 1505
- Sra. Lorena Sedillo
¿Desea encontrar todos los archivos que contengan una palabra o una cadena de texto en particular en todo su sistema Linux o en un directorio determinado?. Este artículo lo guiará sobre cómo hacerlo, aprenderá cómo cavar recursivamente a través de directorios para encontrar y enumerar todos los archivos que contienen una cadena dada de texto.
Una forma simple de resolver esto es mediante el uso de la herramienta de búsqueda de patrones GREP, es una utilidad de línea de comandos potente, eficiente, confiable y más popular para encontrar patrones y palabras de archivos o directorios en sistemas similares a unix.
Leer también: 11 comandos avanzados de Linux 'Grep' en clases de caracteres y expresiones de soporte
El comando a continuación enumerará todos los archivos que contienen una línea con el texto "check_root", Al buscar recursiva y agresivamente en el ~/contenedor
directorio.
$ Grep -rw ~/ bin/ -e 'check_root'Encuentra una palabra en el directorio
Donde el -Riñonal
Opción dice grep Para leer todos los archivos en cada directorio, recursivamente, siguiendo enlaces simbólicos solo si están en la línea de comandos y la opción -w le indica que seleccione solo aquellas líneas que contienen coincidencias que forman palabras completas, y -mi
se usa para especificar la cadena (patrón) a buscar.
Debe usar el comando sudo cuando busque ciertos directorios o archivos que requieran permisos raíz (a menos que esté administrando su sistema con la cuenta raíz).
$ sudo grep -rw / -e 'check_root'
Para ignorar las distinciones de casos, emplee el -i
Opción como se muestra:
$ Grep -riw ~/ bin/ -e 'check_root'
Si desea saber la línea exacta donde existe la cadena de texto, incluya el -norte
opción.
$ Grep -rinw ~/ bin/ -e 'check_root'Encontrar cadena con el número de línea
Suponiendo que hay varios tipos de archivos en un directorio en los que desea buscar, también puede especificar el tipo de archivos a buscar, por ejemplo, por su extensión utilizando el --incluir
opción.
Este ejemplo le indica a Grep solo a mirar a través de todos .mierda
archivos.
$ Grep -rnw --Include = \*.sh ~/ bin/ -e 'check_root'
Además, es posible buscar más de un patrón, utilizando el siguiente comando.
$ Grep -rinw ~/ bin/ -e 'check_root' -e 'netstat'Encuentra varias palabras en archivos
Eso es todo! Si conoce cualquier otro truco de línea de comandos para encontrar cadena o palabra en archivos, comparta con nosotros o haga cualquier pregunta sobre este tema, use el formulario de comentarios a continuación.
- « Cómo grabar y reproducir las sesiones de terminal de Linux utilizando los comandos 'script' y 'scripteplay'
- Cómo ejecutar múltiples comandos en múltiples servidores de Linux »