Automatización: vigila cambios en ficheros y reacciona
Abril 13, 2008 @ 14:04
DizqueUn buen día, Ale Muñoz dejó caer, como de pasada, la siguiente sentencia:
Trabajar menos, en mi opinión, es una obligación moral de todo el que use ordenadores
Cuando lo leí me sentí tocado. Fin del prólogo.
El otro día, mientras preparaba unas hojas de estilo XSL, me descubrí atrapado en una especie de bucle inoperante. Viene a ser el siguiente:
- edito un fichero;
- lo guardo;
- me voy a la terminal;
- lanzo un comando (un
makeo similar); - me voy al navegador;
- compruebo el resultado del comando refrescando el navegador;
- me voy al editor;
- volvemos a empezar.
Un rollo, vamos. Púseme a buscar opciones para la automatización del proceso. Estaba claro que lo que tenía que hacer era observar los cambios en determinados ficheros y realizar alguna acción en tal caso. Exactamente lo que hace stakeout (lo encontrarás en Staking Out File Changes). Si te decides, como yo, a usar la versión ruby:
- Copia el script de la página enlazada
- Crea un fichero stakeout.rb, hazlo ejecutable y colócalo dentro de tu path.
El uso es sencillísimo. El programa recibe como parámetros el comando a ejecutar y los ficheros a observar. Para crear la lista de ficheros observados podemos utilizar sintaxis glob. Un caso:
choan$ stakeout.rb ./process.rb *.xsl template.html process.rb
=> template.html changed, running ./process.rb
=> done
Cuando nos hartemos de trabajar, podemos matar el proceso a golpe de ctrl + C.
Reducimos pues, el proceso, en unos cuantos pasos. Aleluya.

Articulos relacionados:Dropbox: Comparte y sincroniza tus ficheros on-line entre Mac, Windows y Linux
Weighting Seat: vigila tu peso mientras comes en tiempo real
Disk Order 3.0, gestor de ficheros
Cocktail 4.1.4, más ligero, mejor rendimiento, esto es evolución
Windows Search 4.0
Permalink
Via Dizque
Desarrollo Web, Cajón de sastre, Ruby, automatización, stakeout