Pero no todo está perdido en Linux. Aquí tenemos el programa locate, con el que podemos hacer cosas "parecidas" (aunque ya quisiera yo que tuviera la potencia y el bajo impacto en memoria y procesador que tiene Everything).
Un ejemplo: para localizar todos los ficheros de configuración de MySQL que hay en mi equipo, escribiría algo así:
$ locate my.cnf
Y la salida es algo como esto:
Fig. 1. Localizando todos los ficheros "my.cnf" en mi equipo
Si además quiero abrirlos todos ellos en un único paso, podemos hacer
$ locate my.cnf | xargs gedit
Y se nos abriría una ventana como esta
Fig. 2. Todos los ficheros my.cnf abiertos en gedit
Ojo: esto funciona porque gedit acepta múltiples parámetros en la línea de invocación. Si el visor que vamos a utilizar no soporta múltiples parámetros, habría que hacerlo de otra manera.
El nombre que se le pasa como argumento a locate es un patrón, no tiene por qué ser el nombre literal. Esto quiere decir que buscará ficheros que contengan el patrón especificado en su nombre. Por ejemplo, podríamos haber listado los ficheros anteriores tecleando un carácter menos:
$ locate my.cn
Fig. 3. Todos los ficheros my.cn* del equipo
Si elimino la letra "n" del patrón, podemos ver que aparecen más ficheros
Fig. 4. Aparecen otros ficheros que coinciden con el patrón *my.c*
O sea, que es como si el patrón tuviera al principio y al final un * (o, para los que estáis más habituados al mundo SQL, como si se hiciera una búsqueda LIKE '%PATRON%')
$ locate .jpg
Fig. 5. Listado de ficheros .jpg existentes en mi equipo
$ locate .jpg | wc -l
Fig. 6. ¿Más de 2.000 imágenes????
Si queremos, podemos utilizar expresiones regulares en el patrón utilizando la opción --regex. Así, para buscar todas las imágenes JPG que empiezan por "yellow" pondríamos algo como
$ locate --regex yellow.*.jpg
Y el resultado, en mi equipo, son dos ficheros
Fig. 7. Las imágenes JPG que comienzan por "yellow*"
Que podríamos haber abierto así:
$ locate --regex yellow.*.jpg | xargs eog
Ojo: he utilizado como visor de las imágenes eog (Eye of Gnome) ya que éste soporta múltiples ficheros en una invocación. Sin embargo, shotwell, el visor por defecto de Ubuntu, no los soporta y daría un mensaje diciendo que hay parámetros de más en la invocación.
Al contrario que Everything, que monitoriza el sistema de ficheros constantemente (algo posible gracias al journal de NTFS), la base de datos de locate no se actualiza con tanta frecuencia. Ahora no tengo tiempo de investigarlo, pero me da a mí que se actualiza en cada reinicio del sistema. Lo que sí se puede hacer es actualizarla a mano con el comando updatedb:
Fig. 8. Actualizar a mano la BD de locate
(Lo de "sudo" he tenido que ponerlo porque si no me daba problema al crear algún fichero temporal).
Bueno, pues dicho todo lo anterior, ya podéis buscar rápidamente todos esos ficheros que os gustaría renombrar, por si las moscas...
Fig. 9. Ficheros que hay que renombrar urgentemente
No hay comentarios:
Publicar un comentario