Cómo buscar texto en varios archivos en Linux

Para los usuarios de Linux, la necesidad de buscar palabras en uno o varios archivos surge con bastante frecuencia.

 

Hay muchas aplicaciones diferentes que pueden hacer un buen trabajo por usted. Qué aplicación será la más adecuada para usted depende de sus necesidades y preferencias. Las aplicaciones se distinguen principalmente por las siguientes características:

  • Herramientas de línea de comandos frente a herramientas con interfaz gráfica.
  • Si son capaces de buscar solo en archivos de texto o en todos los tipos de documentos de uso común.
  • Si utilizan indexación o no.

 

En este artículo le presentaremos diferentes tipos de aplicaciones de búsqueda, para que pueda elegir la más adecuada para usted.

 

Nota: Si es usuario de Mac, puede echar un vistazo a nuestro artículo Cómo buscar en Mac.

 

 

1. Buscar archivos de texto con la herramienta grep

 

Acerca de la herramienta grep

 

La herramienta de línea de comandos más popular para buscar texto en Linux es grep. ¡Fue creada hace más de 45 años! Su desarrollador es el científico informático estadounidense Ken Thompson.

 

Grep puede buscar en todo tipo de archivos de texto (.txt, .html, .xml, etc.), pero no puede buscar en otros tipos de documentos como archivos de OpenOffice, archivos PDF y otros.

 

De hecho, el comando grep está entre los 15 comandos más utilizados en Linux, según Hostinger.

 

Top 15 most used commands in Linux

 

La utilidad es compatible con los sistemas operativos UNIX, Linux y Mac.

 

También existe una alternativa a grep para Windows llamada findstr, sobre la que puede leer más en nuestro artículo Cómo buscar archivos en Windows 10.

 

 

Cómo usar la herramienta grep

 

La herramienta grep está integrada en el sistema operativo, por lo que no necesita instalarla.

 

La sintaxis más simple para encontrar una cadena en un solo archivo usando el comando grep es:
grep 'searched-word' filename

 

De forma predeterminada, la búsqueda con grep distingue entre mayúsculas y minúsculas.

 

Añadamos gradualmente las opciones más útiles a nuestra búsqueda.

 
1. Hacer que la búsqueda no distinga entre mayúsculas y minúsculas con la opción "-i":
grep -i 'searched-word' filename

 
2. Buscar recursivamente en todos los archivos de un directorio determinado con la opción "-r":
grep -ir 'searched-word' '/directory'

 
3. Buscar solo palabras completas con la opción "-w":
grep -irw 'searched-word' '/directory'

 
4. Imprimir los números de línea en los que se encontró la palabra buscada con la opción "-n":
grep -irwn 'searched-word' '/directory'

 
5. Sintaxis para buscar varias palabras:
grep -ir 'word1|word2|word3' '/directory'

 

Puede encontrar muchas otras opciones útiles de grep en el Manual de Grep oficial.

 

 

Ventajas y desventajas de la herramienta grep

 
Como cualquier herramienta de software, además de la comodidad que le ofrece, grep tiene algunos inconvenientes. Resumamos sus pros y sus contras.
 

Ventajas:

  • Gran flexibilidad gracias a una amplia gama de opciones.
  • Funciona eficazmente con expresiones regulares.
  • Está integrada en el sistema operativo.

 

Desventajas:

  • No puede buscar en ningún otro tipo de documento excepto archivos de texto.
  • No tiene interfaz gráfica.
  • Lectura difícil de líneas largas de texto en los resultados.
  • No es tan potente para buscar en código fuente, en comparación con ack.

 
 

2. SearchMonkey

SearchMonkey es una aplicación GUI gratuita y de código abierto para Linux, que utiliza las capacidades de la herramienta grep. SearchMonkey también está disponible para usuarios de Windows y Mac.

 

Además de buscar en archivos de texto, SearchMonkey admite:

  • Archivos de OpenOffice y LibreOffice (.odt).
  • Archivos de Microsoft Office (.docx).
  • Archivos PDF (.pdf).

 

La herramienta puede buscar recursivamente en un directorio y devuelve los nombres de los archivos y el contenido resaltado que usted busca.

 

Siga los siguientes pasos para instalar y usar la herramienta:
 
1. Instale la aplicación con el siguiente comando en la Terminal:
sudo apt install searchmonkey
 
2. Inicie la aplicación.
 
3. Elija la carpeta en la que se realizará la búsqueda.
 
SearchMonkey choose a folder to search
 
4. Marque la casilla "Containing", introduzca las palabras de búsqueda y pulse "Enter."
 
SearchMonkey check containing checkbox to prepare it for search
 
5. Haga clic en un archivo de la lista del panel izquierdo para ver los fragmentos de texto encontrados.
 
SearchMonkey click on a file to see the passages found

 

Si desea buscar en un directorio específico, haga clic en la pestaña “Advanced” y elija la carpeta deseada.

 

En el panel "Advanced", puede usar criterios adicionales para filtrar los resultados, como el tamaño del archivo, la fecha de la última modificación y otros.

 

SearchMonkey use advanced search

 

Con SearchMonkey, también puede usar expresiones regulares de la misma manera que en la herramienta grep.
 

Ventajas:

  • Completamente gratuita y de código abierto.
  • Ligera y fácil de usar.
  • No utiliza indexación.
  • Muchas opciones para refinar la búsqueda.
  • Funciona con expresiones regulares.

 

Desventajas:

  • Rendimiento lento, no adecuado para directorios grandes.
  • No admite RTF, Excel (.xlsx, .xls), PowerPoint (.pptx, .ppt), Word antiguo (.doc) y otros tipos de documentos populares.
  • No puede buscar una combinación de palabras que aparezcan en una sola frase.
  • No muestra todas las líneas de los resultados en un solo lugar; tiene que revisar cada archivo uno por uno.

 

 

 

3. Recoll

Recoll es una herramienta de búsqueda de escritorio, disponible para Linux, Windows y MacOS. La versión para Linux es gratuita. Puede buscar no solo en archivos de texto, sino también en la mayoría de los formatos de documento comunes, incluidos:

  • Archivos de OpenOffice y LibreOffice (.odt).
  • Archivos de Microsoft Office (.docx, .xlsx, .xls, .ppt).
  • Archivos PDF (.pdf).
  • Archivos AbiWord (.abw).

 

De forma predeterminada, Recoll indexa los archivos de su directorio "home", lo que puede llevar algún tiempo.

 

Estos son los pasos para instalar y usar el programa:
 
1. Instale Recoll con el comando:
sudo apt-get install recoll
 
2. Inicie la aplicación.
 
3. En la ventana "First indexing setup", haga clic en "Start indexing now."
 
Recoll start indexing your files and folders
 
4. En el mensaje "Missing helper programs", haga clic en "OK."
 
Recoll next step for indexing
 
5. Escriba los términos de búsqueda y pulse "Enter."

 

6. En la lista de resultados, haga clic en "snippets" para ver todos los fragmentos de texto que contienen las palabras buscadas.
 
Recoll see passages of text found

 

7. En la ventana "Snippets", verá las páginas y las líneas en las que se encuentran las palabras buscadas.
 
Recoll see the pages and the lines containing your search words

 

Si necesita buscar en una carpeta fuera de su directorio "home", vaya a "File" -> "Special indexing" y haga clic en el botón "Browse" para seleccionar el directorio deseado.

 

Ventajas

  • Gratuita para usuarios de Linux.
  • Admite la mayoría de los tipos de documentos comunes.
  • Interfaz gráfica fácil de usar.
  • Admite opciones de búsqueda avanzadas.
  • Permite la vista previa de documentos sin abrir el archivo.

 

Desventajas

  • Aunque la aplicación utiliza indexación, las búsquedas son relativamente lentas.
  • No admite el formato Word 97-2003 ".doc" ni el formato de archivo PowerPoint ".pptx".
  • No puede buscar una combinación de palabras.
  • Tiene que hacer clic en los "snippets" de cada resultado para ver los fragmentos encontrados.

 

 

4. DocFetcher

DocFetcher es una herramienta de búsqueda de escritorio gratuita y de código abierto, disponible para Linux, Windows y MacOS. Además de los formatos de archivo de texto, admite casi todos los formatos de documento que pueda utilizar:

  • Archivos de Microsoft Office 97-2003 (.doc, .xls, .ppt).
  • Archivos de Microsoft Office 2007-365 (.docx, .xlsx, .pptx, .docm, .xlsm, .pptm).
  • Archivos de correo electrónico de Microsoft Outlook (.pst).
  • Archivos de OpenOffice (.odt, .ods, .odg, .odp, .ott, .ots, .otg, .otp).
  • Archivos PDF (.pdf).
  • Formato de texto enriquecido (.rtf).
  • Archivos AbiWord (.abw, .zabw).
  • Y otros.

 

Estas son instrucciones breves para usar DocFetcher:
 
1. Instale DocFetcher con el comando:
sudo snap install docfetcher

 

2. Inicie DocFetcher
 

3. Haga clic con el botón derecho en el panel "Search Scope" en la parte inferior izquierda y elija "Create index from"->"Folder."
 
DocFetcher Linux create an index of files and folders

 

4. Elija una carpeta, asigne un nombre al índice y haga clic en el botón "Run".
 
DocFetcher Linux choose a folder to search

 

5. Espere hasta que se cree el índice. Cuando esté listo, verá una marca de verificación en el panel "Search Scope" de la izquierda.
 
DocFetcher Linux see folders that are indexed
 
6. Escriba las palabras de búsqueda y pulse "Enter."

 

DocFetcher Linux type words to search for
 
7. Haga clic en un nombre de archivo para ver los fragmentos del texto que contienen las palabras buscadas. Puede navegar por los resultados con las flechas "up" y "down".
 
DocFetcher Linux see passages found

 

Ventajas

  • Aplicación gratuita y de código abierto.
  • Tiene una versión portátil.
  • Puede buscar en formatos de archivo comprimido (.zip, .7z, .rar, .tar).
  • Ofrece opciones de búsqueda adicionales: comodines, palabras similares, búsqueda por proximidad y otras.

 

Desventajas

  • Crear un índice puede llevar mucho tiempo para carpetas grandes.
  • No puede realizar búsquedas sin distinguir entre mayúsculas y minúsculas.
  • La navegación en los resultados de texto no es fácil de usar.
  • No puede buscar una combinación de palabras en una frase.

 

 

5. Regexxer

 

La aplicación regexxer ofrece amplias posibilidades para usar expresiones regulares de estilo perl. Es una aplicación gratuita y de código abierto con una interfaz gráfica fácil de usar, creada en 2002.

 

Regexxer está disponible solo para Linux, y puede instalarla más fácilmente en Debian y Ubuntu.

 

Así es como puede usar Regexxer:
 

1. Instale la aplicación con el comando:
sudo apt-get install regexxer
 
2. Inicie la aplicación, seleccione una carpeta de búsqueda y asegúrese de que la casilla "recursive" esté seleccionada.
 

3. Haga clic en el botón "Find files".
 
Regexxer start your search

 

4. Escriba los términos de búsqueda en el cuadro "Search" y haga clic en el botón "Find".
 
Regexxer type your search words
 
5. Use las flechas de la parte inferior para navegar por los resultados.
 
Regexxer navigate the results found
 
6. En el panel izquierdo puede ver el número de resultados encontrados en los archivos correspondientes y, en el panel derecho, el texto que contiene las palabras buscadas.

 

Ventajas:

  • Completamente gratuita y de código abierto.
  • Fácil de instalar y usar.
  • Interfaz gráfica simple e intuitiva.
  • Admite todo tipo de expresiones regulares de estilo perl.
  • Resalta las palabras buscadas en los resultados.
  • No utiliza indexación.

 

Desventajas:

  • Regexxer es más lenta que otras aplicaciones similares.
  • A veces deja de responder o se cierra inesperadamente.
  • No puede buscar en ningún otro tipo de documento excepto archivos de texto.
  • No puede buscar una combinación de palabras que aparezcan en una sola frase.

 

 

Conclusión

Espero que haya disfrutado esta guía para encontrar archivos de texto en Linux.

 

Soy plenamente consciente de que se pueden añadir muchas más cosas sobre las aplicaciones presentadas, y también de que hay muchas otras herramientas útiles en este nicho.

 

Ahora me gustaría saber de usted: ¿cuál de las aplicaciones presentadas le resulta más útil? ¿Tiene algún problema al usar estas herramientas? ¿Quiere añadir algo más que sea importante sobre este tema?

 

Hágame saber su opinión publicando un comentario en la sección de comentarios de abajo.

Sobre el autor
Dimitar Stamenov es un desarrollador de software y emprendedor con más de 25 años en el mundo tecnológico. Ha creado herramientas como SeekFast (una de las aplicaciones de búsqueda de escritorio más populares), Preslav ERP (un sistema de gestión empresarial) y SEORanks (un sitio de referencia para herramientas de SEO). También ha impartido clases en academias tecnológicas líderes, como Telerik Academy y Software University Sofia. En el blog de SeekFast, Dimitar comparte consejos, ideas y soluciones prácticas para ayudar a los lectores a sacar el máximo provecho de su software y hacer las cosas más rápido.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *