logo

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

Supongamos que está buscando un archivo en Linux, pero olvidó su nombre. Sólo recuerdas el contenido del archivo. ¿Cómo encontrará el archivo en este caso? Bueno, existen algunos métodos útiles que te ayudarán a encontrar un archivo que contenga un texto (o cadena) específico en Linux. La cadena debe ser especificada por el usuario. Entonces, echemos un vistazo a los métodos:

Métodos para buscar todos los archivos que contienen texto específico (cadena) en Linux

Método 1: comando grep

comando grep en Linux que se utiliza para buscar archivos que contengan un texto o cadena específica. Por defecto nos muestra las líneas de los archivos que contienen el texto concreto. Si le agregamos la opción -l, el comando nos mostrará todos los archivos que contienen el texto en particular.



Ejemplo:

Supongamos que tenemos un directorio que contiene dos archivos llamados archivo1.txt y archivo2.txt.

Contenido del archivo1.txt:



programación cobol
This line contains text.>

Contenido del archivo 2.txt:

CSS centrando una imagen
You should learn Data Structures & Algorithms.>

Ahora, usaremos el comando grep con la opción -l para buscar texto en archivos determinados ubicados dentro del directorio actual. Vea el siguiente ejemplo:



Del ejemplo anterior se puede decir claramente que el comando grep encontró con éxito la cadena dada en el archivo 1.txt. Como resultado, mostró el nombre del archivo en la pantalla.

También podemos usar la opción -i para decirle a grep que ignore el caso. Mira el siguiente ejemplo:

numeros bloqueados

Arriba, primero usamos el comando anterior, pero la cadena proporcionada es Texto. Dado que file1.txt contiene texto, no texto, no se tiene en cuenta. Aquí, la operación de búsqueda se realiza teniendo en cuenta el caso. Luego, usamos la opción -i. Como resultado, se ignora el caso y la cadena dada coincide con la que contiene file1.txt. Por lo tanto, el nombre del archivo se muestra en la pantalla.

Otra variación es utilizar la opción -r. Sugiere grep para buscar la cadena dada en el directorio actual y sus subdirectorios de forma recursiva. Mire el siguiente ejemplo:

file1.txt y file2.txt se encuentran en la carpeta de archivos, no en el directorio actual, es decir, el escritorio. Entonces, si no usamos la opción -r, no se encontrarán archivos con cadenas coincidentes porque no existen en el directorio actual. Pero usamos la opción -r y también omitimos los nombres de los archivos. Como resultado, grep busca cadenas coincidentes no solo en el directorio actual sino también en sus subdirectorios. Por lo tanto, el archivo 1.txt se encuentra y se muestra en la pantalla.

Método 2: la combinación del comando find y grep

encontrar es otro comando útil en Linux. Combinaremos buscar con la opción -type f para buscar archivos y la opción -exec para aplicar grep a los archivos que se encuentren. Mira el siguiente ejemplo:

Claramente, la operación de búsqueda encuentra el archivo1.txt ya que contiene la cadena coincidente. Por lo tanto, el nombre del archivo se muestra en la pantalla.

clase abstracta en java

Método 3: busque archivos que contengan texto específico con mc

También podemos buscar archivos usando Midnight Commander (mc). Abra la aplicación y presione Alt + Shift +? para abrir el cuadro de diálogo Buscar archivo. Verá un cuadro de Inicio en la parte superior. En el cuadro, escriba la ruta donde se encuentran los archivos. Luego, debajo del cuadro de contenido, escriba la cadena que desea buscar. En nuestro caso, buscamos texto en el directorio Archivos:

Se puede ver claramente a continuación que la operación de búsqueda encontró con éxito el archivo 1.txt, que contiene la cadena coincidente.

Método 4: comando ripgrep

ripgrep (escrito como rg) es un comando que se puede utilizar como alternativa al comando grep. La implementación está a continuación:

Se encuentra file1.txt y, por lo tanto, el nombre del archivo se muestra en la pantalla.

métodos de cadena en java

Método 5: comando de confirmación

Otro comando más que podemos usar es el comando ACK. Aquí está la implementación:

file1.txt se encuentra correctamente y se muestra en la pantalla.