Encuentre todos los archivos que contienen texto específico

Encuentre todos los archivos que contienen texto específico

Probablemente ya sepa cómo usar el grep Comandar para buscar una cadena de texto en un archivo en Linux. Pero, ¿qué pasa si desea recuperar una lista de archivos que contienen la cadena de texto?? Esta es una tarea más adecuada para grep o el comando buscar. Te mostraremos cómo hacerlo en esta guía.

En este tutorial aprenderás:

  • Cómo utilizar grep y encontrar comandos para encontrar todos los archivos que contienen texto específico
Encuentre todos los archivos que contienen texto específico Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Cualquier distribución de Linux
Software N / A
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Buscar texto específico con comando GREP



Sin duda, grep es el mejor comando para buscar un archivo (o archivos) para un texto específico. Por defecto, devuelve todas las líneas de un archivo que contiene una determinada cadena. Este comportamiento se puede cambiar con el -l opción, que instruye grep Para devolver solo los nombres de archivo que contienen el texto especificado.

Ahora veamos esto en acción. Use la siguiente sintaxis en el terminal y especifique todos los archivos que desea buscar agregando su ruta y nombre al final del comando.

$ GREP -L Ejemplo Document1.documento txt2.TXT 
Uso de GREP para encontrar qué archivos contienen el texto especificado

La salida de grep nos muestra que nuestro "ejemplo" de cadena de búsqueda solo existe en el documento1.TXT archivo. Además, no olvide que se permiten comodines y pueden ayudar a hacer grep más eficiente:

$ GREP -L Ejemplo *.TXT 

Pero seamos realistas. Si solo está buscando un par de archivos, probablemente no habría terminado leyendo esta guía. Lo más probable es que tenga un directorio (o múltiples directorios) llenos de archivos que necesita buscar. Eso no es un problema para grep Mientras incluyas el -riñonal Opción (recursiva) en el comando.

$ GREP -LR EJEMPLO/PATH/TO/Directory1/*.txt/rath/to/directorio2 

O, para buscar el directorio actual y todos los subdirectorios, omita la ruta al final del comando.

$ GREP -LR Ejemplo 
Usar GREP para buscar recursivamente

Considere también usar el -i opción, que hace que su caso de cadena de búsqueda sea insensible. Para aprender sobre el resto del grep Funciones del comando En detalle, consulte nuestra Guía de Introducción a GREP. La página del hombre también contiene información útil:

$ Grep Man 

Buscar texto específico con el comando Buscar

Si prefiere usar el encontrar Comando, puede usar la siguiente sintaxis del comando:

$ Find/Path/TO/Search -Type F -Exec GREP -L "Su Search -String"  \; 
Uso del comando Buscar archivos que contienen la cadena de texto

Una vez más, agregue -i hacia grep parte del comando para ignorar el caso. El encontrar y grep Los métodos funcionan bien. Usa el que prefiera.

Conclusión

En esta guía, vimos cómo encontrar todos los archivos que contienen texto específico en Linux. Aprendimos dos métodos de línea de comando para realizar la tarea, pero existen aún más.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Comandos básicos de Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..
  • Cómo encontrar una cadena o texto en un archivo en Linux
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Instale Arch Linux en VMware Workstation
  • Ubuntu 20.04 Guía
  • Cosas para instalar en Ubuntu 22.04