Rebuscando archivos con un determinado contenido en Linux

Cualquier cosa que quieras hacer la puedes hacer con el terminal, así de sencillo es el tema. Está claro, que estamos acostumbrados al entorno gráfico, cada vez se presentan herramientas mas visuales y potentes, que permiten hacer cualquier trabajo administrativo que queramos con nuestros archivos, pero, siempre estará el terminal, y es que, la cantidad de herramientas que tienes a tu disposición es impresionante, y algunas (muchas) con un gran potencial. Tengo claro, que a los usuarios nuevos, a los que vienen de otros Sistemas Operativos, esto les resulte un poco duro, pero, con un poco de paciencia, puedes sacar mucho mas provecho del que te puedes imaginar.

Todo esto viene, porque actualmente tengo un pequeño problema con el manejo del Anillo de Claves de Gnome desde Python, en particular utilizando introspección, lo cual genera un error. He estado mirando otros proyectos para ver como lo han solucionado, pero por ahora no he encontrado ninguna respuesta. Es en este punto donde he tenido que echar mano de “grep”, para buscar palabras en el interior de cientos de archivos, en lugar de ir abriendo uno a uno para ver cual es el que contiene la respuesta a mis preguntas.

Grep

Grep es una herramienta accesible desde el terminal, que lo que hace es, buscar en cada uno de los archivos que le pasemos como argumento, en busca de una palabra o patrón. Un patrón por ejemplo sería “c*a”, de esta forma nos listaría todas las líneas de un archivo que tuvieran palabras que empiecen por “c” y terminen por “a”.

Como comento, en mi caso, el uso que le estaba dando era buscar archivos que contuvieran la palabra “keyring”. Los archivos se encontraban organizados en varios directorios y subdirectorios, así que el comando con los argumentos empleados fue:

grep -R -i -n 'keyring' *

Donde:
-R es para que haga una búsqueda recursiva en el directorio desde donde lanzamos el comando, y todos los directorios contenidos en él, y en los que a su vez contengan.
-i es para que ignore mayúsculas y minúsculas (Esto por si acaso, de cualquier forma si en la primera respuesta obtienes muchos resultados siempre puedes lanzarla nuevamente si esta opción)
-n para que indique la línea en la que aparece la palabra que estamos buscando.

Conclusiones

Por aquello de la inconsciencia, he empezado abriendo los archivos uno por uno, y buscando la cadena, pero al poco tiempo (10 minutos como mínimo), me he dado cuenta de lo absurdo de mi acto. De hacerlo de una forma a otra, evidentemente el tiempo que te ahorras no tiene precio, claro. Lo otro es probablemente de las cosas mas absurdas que se pueden hacer.

No me he parado a buscar una herramienta gráfica que haga la misma operación, pero desde luego con esta herramienta es cuestión de segundos (dependiendo de la amplitud de la búsqueda, claro), localizar lo que buscas.

 

Fuente: atareao

¿Quién está en línea?

Hay 6187 invitados y ningún miembro en línea