[Tech] mysq e backticks

Leonardo Boselli leo@dicea.unifi.it
Sab 4 Dic 2004 13:54:22 CET


Se avevo meglio chiare le idee forse ero più chiaro anche io.
ad ogni modo pare che la man page e l'help non corrispondono ...
nell'help non parla della opzione -e (anzi, dice che serve per passargli 
un file) ... ma parla di --skip-column-names per eliminare la prima riga.
E fino a questo punto siamo arrivati ... ho una serie di campi separati da 
newline.
Il ciclo for funzionerebbe, se non che il programma mail verrebbe 
invocato più volte. a me fa molto comodo che tutti i messaggi avessero 
lo stesso message-id, ossia venissero inviati in blocco. (e pure che tutti 
i destinatari avessero la lista completa, per potere rispondere a tutti).
quindi il passo successivo sarebbe :

cat message | mail -s "messaggio di avviso" -c `mysql -u root -p 
dbname --batch --raw -N -e "select email from tab where Gruppo eq 
\"Gruppuscolo\" ;" | filtro ` Gruppuscolo

in cui filtro sarebbe un qualcosa che mi sostitusca i caratteri 10 con dei 
32; banale da scrivere in C, ma non è che sia già standard [eviterebbe 
di dovere mettere il programmillo col rischio di dimenticartene quanto 
vai l'upgrade] !
 
 
Il 4 Dec 2004 alle 12:40 Cosimo Vagarini immise in rete
> Leonardo Boselli wrote:
> > Mi serve di dare in pasto a un programma come parametri l'output di
> > una query mysql:
> A parte la semi-illeggibilità della tua email puoi usare (se ho capito
> quello che vuoi, ovviamente) un ciclo for di bash
> 
> for f in `output del mysql`
> do
>     cat messaggio | script "avviso" $f
> done
> 
> l'output del mysql lo ottieni con l'opzione -e
> 
> mysql -u xxxx -pyyyy -hzzzzz.zz.zz nomedb -e "select ..."
> 
> che puoi ridirigere su un file o usare come standard input
> del ciclo for. Tieni presente che mysql nell'output rediretto
> lascia comunque la riga di intestazione, quindi la prima riga
> dell'output la devi scartare.
> 
> Cosimo.
> 
> P.S. Bella quella data : "20059402" :)
> _______________________________________________
> FLUG - Discussioni tecniche - tech@firenze.linux.it
> URL: http://lists.firenze.linux.it/mailman/listinfo/tech
> Archivio: http://lists.firenze.linux.it/pipermail/tech
> Ricerca nell'archivio: http://www.firenze.linux.it/search
> 

--
Leonardo Boselli
Nucleo Informatico e Telematico del Dipartimento Ingegneria Civile
Universita` di Firenze , V. S. Marta 3 - I-50139 Firenze
tel +39 0554796431 cell +39 3488605348 fax +39 055495333
http://www.dicea.unifi.it/~leo




Maggiori informazioni sulla lista flug-tech