[Solar-general] La Plata: 2do. Business & Innovation Trends el próximo 11 de agosto

Marcos Guglielmetti marcospcmusica en gmail.com
Mie Jul 30 22:23:36 CEST 2008


El Jueves, 31 de Julio de 2008 03:00, Pablo Manuel Rizzo escribió:
 | 2008/7/30 Marcos Guglielmetti <marcospcmusica en gmail.com>:
 | > Es un script re sencillo que tira una salida estándar (que kmail
 | > está preparado para obtener) en base a lo que lee de ~/firmas/
 | >
 | > lo hice para mí, así que en otro sistema fallará si no existe
 | > esa carpeta y además archivos con:
 | >
 | >
 | > cabecera*.txt
 | >
 | > cola*.txt
 | >
 | > y el resto de lo que va entre la cabecera y la cola.
 | >
 | > Es decir que la firma se produce siempre (en general) con 3
 | > variables diferentes, dando un resultado que me permite
 | > promocionar diversas ideas, sitios y proyectos, sin tener una
 | > firma enorme.
 | >
 | >
 | > Este es el engendro mutante:
 | >
 | > #!/bin/sh
 | >
 | > # FRASES 0-9
 | > Azar=`ls ~/firmas/ | grep -v "~"`
 | >
 | > azar1=($Azar)
 | > num_Azar1=${#azar1[*]}
 | > AZAR1="${azar1[$((RANDOM%num_Azar1))]}"
 | >
 | >
 | > Azarcola=`ls ~/firmas/cola*.* | grep -v "~" | grep -v "cabe"`
 | > azar1cola=($Azarcola)
 | > num_Azar1cola=${#azar1cola[*]}
 | > AZAR1cola="${azar1cola[$((RANDOM%num_Azar1cola))]}"
 | >
 | > Azarhead=`ls ~/firmas/cabece*.* | grep -v "~"`
 | > azar1head=($Azarhead)
 | > num_Azar1head=${#azar1head[*]}
 | > AZAR1head="${azar1head[$((RANDOM%num_Azar1head))]}"
 | >
 | > #echo $AZAR1head
 | > #echo $AZAR1cola
 | > #sleep 2s
 | >
 | > # cabecera
 | > cat $AZAR1head > ~/firmas/firma.txt
 | >
 | > cat ~/firmas/$AZAR1 >> ~/firmas/firma.txt
 | >
 | > # cola
 | > cat $AZAR1cola >> ~/firmas/firma.txt
 | >
 | > # esto produce la salida final, que toma kmail
 | > cat ~/firmas/firma.txt
 |
 | Buenísimo, agregale al final esto:
 |
 | cat ~/.signature
 |
 | y sirve también para los otros clientes de correo que te decía
 | antes   :-)
 |
 | Se puede cronear cada un minuto en cualquier sistema y minuto a
 | minuto va a poner una firma diferente.


Claro (yo antes lo tenía así), la diferencia es que mediante este 
método y kmail, el script no se ejecuta todo el tiempo, sino sólo 
cuando en kmail hacés click en "nuevo mensaje" o respondés un mail.
No es tanta diferencia, pero es algo más "económico".


Lo que habría que agregar para lo que que decís es

cat ~/firmas/firma.txt > ~/.signature

(yo no uso otros clientes, pero bueno...)




Lo que sí me gustaría saber, es cómo simplificar, si se pudiera, la 
generación del azar en bash, al menos para este caso

Azar=`ls ~/firmas/ | grep -v "~"` 
azar1=($Azar)
num_Azar1=${#azar1[*]}
AZAR1="${azar1[$((RANDOM%num_Azar1))]}"

no entiendo por qué "hay que dar" tantas vueltas para leer al azar un 
archivo desde una lista...


-- 
Marcos Guglielmetti - www.musix.org.ar Software Libre para Artistas


"Revolución práctica, los amigos y colegas con quienes he estado 
trabajando durante los últimos 20 años lo han demostrado, la 
revolución práctica se basa en dos cosas: prueba de concepto y código 
funcionando.

Es decir: hazlo primero y permite que las consecuencias de lo que se 
ha hecho se establezcan. La tecnología, a diferencia del flujo 
histórico hegeliano o marxista, la tecnología en sí es 
irreversible. "

Eben Moglen, FSF.
http://www.mastermagazine.info/articulo/13220.php-----------------------------------------------
Blog personal: www.marcospcmusica.wordpress.com 




Más información sobre la lista de distribución Solar-general