[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