Cómo buscar texto en el contenido de los archivos

Tal vez nunca precisaste hacerlo, tal vez lo intentaste una vez y te resignaste. De cualquier forma, te ratifico lo que seguramente ya sospechabas: no es posible buscar texto en el contenido de los archivos desde Nautilus. Por las dudas todavía estés perdido tratando de descubrir cómo demonios buscar algo en Nautilus, existe un botón con un ícono de lupa justo al lado de la barra de direcciones (más fácil, apretá Ctrl+F). Desde allí, podés buscar carpetas y archivos por nombre, pero no podés buscar texto en el contenido de los archivos. Entonces, ¿cómo hacemos? He aquí la solución…bueno, a medias. 

Gnome-Search-Tool, a sólo dos clics de distancia…

Andá a Lugares > Buscar archivos… También podés ejecutar esta herramienta apretando Alt+F2 y escribiendo gnome-search-tool.

Una vez abierta la ventana, hacé clic donde dice Ver más opciones. Allí te va a permitir ingresar el texto a buscar. Además, vas a poder ingresar otros parámetros de búsqueda como la fecha de modificación, el tamaño, el propietario del archivo, etc.

A través del terminal

Tal vez hayas utilizado el comando grep si saber bien para qué sirve. Bueno, llegó el momento de aprender.

Es un comando que sirve, precisamente, para buscar texto en el contenido de los archivos. Podés realizar todo tipo de búsqueda que se te ocurra. Como todo comando del terminal, su secreto está en conocer bien los parámetros disponibles.

Vamos a poner un ejemplo concreto. Supongamos que querés buscar todos los archivos que contengan la frase «usemos linux» dentro tu carpeta /media/win/cosas.

El comando a ejecutar sería:

grep -lir "usemos linux" "/media/win/cosas"

El parámetro -l le indica que imprima los nombres de archivos en los que se encuentre el texto solicitado. El parámetro -i, que ignore las mayúsculas y minúsculas. El parámetro -r, que busque en forma recursiva dentro de la ruta indicada.

En caso de que desees restringir la búsqueda a un determinado tipo de archivo, primero andá a la ruta donde grep tenga que realizar la búsqueda.

cd /media/win/cosas

Luego, escribí algo similar a esto adaptándolo según tus necesidades:

grep -lir "usemos linux" *.pdf

Para más información te sugiero escribir man grep en un terminal.  ¡El manual no muerde!

Ambas herramientas buscan archivos de tipo texto plano que contienen el texto especificado. No sirven para buscar texto en archivos binarios, como los PDFs, DOCs, ODTs, etc.  En realidad, hay que hacer algo un poquito más complicado que seguramente publicaré en un futuro post. 