59 - Buscar por contenido

59 - Buscar por contenido

En este episodio del podcast te explico sobre algunas aplicaciones para buscar por contenido aquellos archivos que necesites de tu equipo.

1:25
-3:15

Este es un un podcast que se graba volviendo del pádel…, bueno no…No no pienses que me he despistado. Esta entradilla del podcast no es mía, es de Roberto, del podcast tiempo escaso, un podcast, ese si, que se hace volviendo del padel. La cuestión, es que hace unos días cuando publiqué el episodio 56 del podcast, sobre como ser mas productivo organizando tus archivos. Roberto, me preguntó sobre este tema, y esto ha dado pie a que adelante este podcast. Un podcast sobre buscar por contenido.

No es que te vaya a descubrir nada novedoso, o si, porque es posible que alguno de las aplicaciones que te voy a comentar no la conozcas. La cuestión es simple, y es que si lo tienes todo organizado, encontrar algo es cuestión de segundos. Es decir, no pierdes el tiempo. Sin embargo, hay ocasiones, en las que tienes que buscar, ya sea por no lo has puesto donde toca, o simplemente, por que no es tu ordenador, o por que simplemente no eres una persona ordenada. Al final que mas da la razón. La cuestión es que necesitas buscar archivos en tu equipo, y no solo por nombre, sino también buscar por contenido.

Y no solo necesitas buscar por el nombre del archivo, en ocasiones también lo tienes que hacer por la meta información. E incluso en otras ocasiones lo tienes que hacer por el por el propio contenido del archivo.

Así, en este nuevo episodio del podcast, te voy a comentar diferentes aplicaciones para buscar archivos, tanto por su nombre, pero sobre todo a buscar por contenido.

Buscar por contenido

Buscar por contenido en Linux

Antes de entrar en faena

Como te comentaba en la introducción del podcast, la idea de este nuevo episodio del podcast nace de Roberto del podcast tiempo escaso. El es el que me recordó, que hace algún tiempo, Google lanzón una aplicación que te permitía buscar por el contenido de los archivos. La aplicación se llamaba Google Desktop, y ciertamente, tal y como comentaba, Roberto, la aplicación funcionaba muy bien, y cumplía su función a las mil maravillas.

Sin embargo, en Linux, tenemos otras aplicaciones, que también nos permiten hacer esto. Desde las más básicas, que solo nos permiten buscar por el nombre del archivo, hasta algunas mas específicas, que nos permiten buscar por el contenido.

Buscar en Twitter

Siempre intento darle el mérito a quien le corresponde. La cuestión, justo en el momento de prepara el guión del podcast, no recordaba quien me lo había mencionado. Aunque si recordaba que había sido en Twitter. La solución, fácil, buscar en Twitter… Pues de fácil nada, ¿Como buscar en Twitter por un mensaje tuyo?

Todo esto te lo comentó por si a ti también te surge la necesidad. Existe un servicio llamado SnapBird, que te permite realizar búsquedas en Twitter. Y efectivamente esa fue la solución. La otra opción era recuperar una aplicación que tengo a medio hacer que también hace esto. Esta aplicación la comencé para el Maratón Linuxero, para el tema de los sorteos,…. sin embargo, al final, quedó ahí…

gnome-software

Si estás utilizando GNOME-Shell, y supongo que también en otros entornos de escritorio sucederá lo mismo, cuando se inicia, se lanza un servicio llamado gnome-software. Este servicio está consumiendo de forma habitual entre 150 y 200 MB, y lo cierto es que yo nunca lo utilizo. Cuando quiero actualizo directamente desde el terminal, y punto.

Si no quieres que se inicie este servicio, es tan sencillo, como ejecutar las siguientes líneas en un terminal. De esta forma la próxima ocasión que inicies Ubuntu, no se levantará este servicio.

cd /etc/xdg/autostart/
sudo mv gnome-software-service.desktop gnome-software-service.desktop.old

Buscar por contenido en Linux

Voy a distinguir entre aplicaciones con interfaz gráfica, y aplicaciones para el terminal. Y a su vez, distinguiré entre aplicaciones que solo nos permiten buscar por el nombre del archivo, y aquellas que permiten buscar por su contenido.

Empezaré por las que solo te van a permitir buscar por el nombre del archivo. Las primeros las gráficas.

Nautilus

Si el gestor de archivos de Ubuntu, Nautilus, por supuesto que te permite realizar búsquedas. Eso si, como todo en GNOME, no se ve a simple vista. Sin embargo, si pulsas en la lupa, o bien, utilizas el atajo de teclado Ctrl+F. Se muestra un combo desplegable desde el que realizar tus búsquedas.

En este desplegable, si pulsas sobre el botón se mostrarán mas opciones. En particular dos interesantes opciones,

  • Búsqueda por fecha. Esta opción te permite seleccionar las fechas, ya sea por última modificación, o por último uso.
  • Búsqueda por tipo de archivo. Con esta opción puedes elegir si quieres buscar carpetas o archivos. Y dentro de archivos, el tipo de archivo que quieres buscar.

Además teóricamente también te permite realizar búsquedas por el contenido. Sin embargo, para esto, es necesario que tengas tracker instalado. Sobre esta aplicación te comentaré mas adelante, pero si que te tengo que decir, que a día de hoy, no funciona con Nautilus, o mejor dicho, a mi, desde luego no me ha funcionado.

Catfish

La segunda de las herramientas sobre la que te quiero hablar es Catfish. Desde luego que este es un viejo conocido al menos de este sitio. He escrito varios artículos sobre esta aplicación. Sin lugar a dudas, de las que te voy a comentar hoy, a mi me parece la mas sencilla, y la que según he podido comprobar consume menos recursos de todas.

Actualmente, en el momento de publicar este podcast, Catfish, se encuentra en la versión 1.4.6. Y en esta versión, te puedo decir, que se encuentra perfectamente integrado en el escritorio de Ubuntu, haciendo uso de las últimas características de GNOME.

De nuevo se trata de una aplicación realmente minimalista, donde tienes lo importante a la vista, y el resto de opciones ocultas con el objeto de no distraerte. Así, te permite realizar búsquedas tanto por el nombre del archivo, como por su contenido, sin hacer un gran uso de recursos.

Igualmente te permite buscar, pero no te permite buscar por contenido. Para buscar tienes un panel que no se muestra a primera vista, por tipo de archivo y por fecha de modificación. Además tiene como características, la posibilidad de mostrarte en forma de lista, o con previsualizaciones, que en el caso de imágenes te va a venir perfectamente.

Esta aplicación, no se encuentra instalada por defecto, pero la puedes instalar de forma sencilla, con tan solo hacer clic en Catfish

La aplicación para buscar por contenido: Recoll

Sobre Recoll, escribí un artículo hace ya algún tiempo. Se trata de una aplicación que te permite indexar diferentes archivos en función de su formato. Algunos de estos archivos se indexan de forma nativa por Recoll, mientras que otros necesitan de aplicaciones externas.

Esta aplicación va sinceramente muy bien, es realmente muy rápida y te va a permitir encontrar todo lo que tengas en tu equipo, hasta aquello que no sabías que tenías.

Eso si, si quieres afinar en los resultados es conveniente que configures la aplicación. Por defecto, Recoll viene configurada con el idioma predeterminado inglés. Esto no quiere decir, que no te vaya a encontrar los resultados.

Igual que en los casos anteriores, Recoll, no solo te permite buscar por el nombre del archivo, sino que también te permite hacerlo por su contenido, y precisamente, en esta segunda parte es donde reside toda la fuerza de esta aplicación.

SearchMonkey

SearchMonkey, es una aplicación multiplataforma, con las ventajas que esto conlleva. El inconveniente, desde mi punto de vista es Java.

Entre las características de esta aplicación está que te permite realizar búsquedas tanto por el nombre del archivo como por su contenido. Pero además te permite utilizar expresiones regulares para lás búsquedas. No solo esto, sino que además esta aplicación, no solo te muestra el nombre del archivo que coincide con tu búsqueda, sino que además te muestra su contenido.

Si CatFish se encuentra perfectamente integrada con el escritorio Ubuntu, a SearchMonkey le ocurre justo lo contrario, está completamente deslavazada.

Respecto a las búsquedas no realiza una indexación, con lo que cada vez que emprendemos una búsqueda nave

DocFetcher

DocFetcer es una aplicación de código abierto que te permite buscar archivos en tu equipo. Se trata de una aplicación multiplataforma, implementada con Java.

La primera vez que la ejecutas necesitas crear un índice, que tarda un ratillo en confeccionarlo dependiendo de todos los archivos que contenga. Pero a partir de ahí, una vez creado el índice, siempre lo tienes disponibles para tu futuras búsquedas. Con la salvedad, de que tu te tienes que encargar de actualizarlo. Esto evidentemente no es nada práctico. Sin embargo, al contrario de lo que sucede con la primera indexación, las actualizaciones son relativamente rápidas.

En cuanto a la búsqueda, una vez realizada la indexación es rápida, y en la ventana de resultados, te permite ver, no solo los archivos que coinciden con nuestra búsqueda, sino también su contenido. En el caso del contenido, aparecerá resaltado el objeto de nuestra búsqueda para que lo identifiquemos rápidamente.

Respecto al consumo de memoria. Esta aplicación se lleva en torno a los 600 MB de memoria RAM.

Traker

El problema de tracker es el consumo de recursos. Durante estos días he estado monitorizando su actividad, y es fácil que se lleve 350 MB de memoria RAM. Así por ejemplo, mientras preparaba el guión de este podcast, tenía los siguientes resultados,

47.5 MiB + 845.0 KiB =  48.3 MiB    tracker-extract
60.4 MiB + 634.0 KiB =  61.0 MiB    tracker-store
98.3 MiB + 385.0 KiB =  98.7 MiB    tracker-miner-fs
134.5 MiB + 684.0 KiB = 135.2 MiB    tracker-miner-apps

Una vez realizada la indexación, buscar por contendio es tan sencillo como,

tracker search usuario

grep

Para buscar texto dentro de archivos directamente desde el terminal, sin dudas esta es la herramienta que debes utilizar.

Así por ejemplo, si queremos buscar todos los archivos que contienen la palabra usuario, dentro del directorio directorio tienes que ejecutar lo siguiente

grep "usuario" directorio/

Si además lo quieres hacer de forma recursiva:

grep -r "usuario" directorio/

Si solo quisieras ver los archivos que contienen la palabra objeto de la búsqueda,

grep -H -r "usuario" directorio/ | cut -d: -f1

Si lo que quieres es todos los archivos markdown dentro del directorio directorio, la cosa es ligeramente mas complicada,

find directorio/ -type f -name *.md -exec grep -H "usuario" {} \; | cut -d: -f1

Más información,

Deja un comentario

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