• microhelp per script

    From Leonardo Boselli@21:1/5 to All on Mon Aug 14 21:20:01 2023
    se lancio un comando
    #mysql -B -u *** -p*** --database *** -e 'select emai from meet where lcon>"2020-08-01"'

    mi viene fuori un output con ogni riga un record.
    Come faccio a avere una UNICA riga con tutti gli output separati da ',' ? (ossia come faccio a passarli a nmail ?)
    (non voglio usare xarg e mandare messaggi separati a ognuno)


    --
    Leonardo Boselli
    Firenze, Toscana, Europa
    http://i.trail.it

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Beppe Cantanna@21:1/5 to All on Tue Aug 15 01:40:01 2023
    Ho replicato la cosa usando un file di testo che con fantasia ho chiamato LISTA.

    Questo file contiene delle righe. Se ne faccio il cat ottengo un output
    formato da tutte le linee del file, che mi pare sia un po' quello che
    ottieni tu con la tua query:

    bpxroot@hpebian:~$ cat LISTA
    1111111111111111111111111111
    22222222222222222222222222
    3333333333333333333333333333
    4444444444444444444444444444
    5555555555555555555555555555


    Per ottenere un unica linea contenente tutte le linee separate da un ';'
    posso usare semplicemente il comando tr, sostituendo il fine linea \n con
    il carattere di separazione che voglio usare, in questo caso il ';':

    bpxroot@hpebian:~$ cat LISTA | tr \\n ';' 1111111111111111111111111111;22222222222222222222222222;3333333333333333333333333333;4444444444444444444444444444;5555555555555555555555555555;;bpxroot@hpebian:~$


    Il doppio \ è per escape. Posso anche usare le ".

    bpxroot@hpebian:~$ cat LISTA | tr "\n" ';' 1111111111111111111111111111;22222222222222222222222222;3333333333333333333333333333;4444444444444444444444444444;5555555555555555555555555555;;bpxroot@hpebian:~$



    se mi dà fastidio che metta il prompt sullo stesso livello dello standard output faccio:

    bpxroot@hpebian:~$ echo $(cat LISTA | tr "\n" ';') 1111111111111111111111111111;22222222222222222222222222;3333333333333333333333333333;4444444444444444444444444444;5555555555555555555555555555;;
    bpxroot@hpebian:~$

    Al fondo ci sono due ; perché l'ultima linea è vuota.




    Il giorno lun 14 ago 2023 alle ore 21:10 Leonardo Boselli < leo-stretch@trail.it> ha scritto:

    se lancio un comando
    #mysql -B -u *** -p*** --database *** -e 'select emai from meet where lcon>"2020-08-01"'

    mi viene fuori un output con ogni riga un record.
    Come faccio a avere una UNICA riga con tutti gli output separati da ',' ? (ossia come faccio a passarli a nmail ?)
    (non voglio usare xarg e mandare messaggi separati a ognuno)


    --
    Leonardo Boselli
    Firenze, Toscana, Europa
    http://i.trail.it



    --
    *CANTANNA Giuseppe*
    cel. +39 349 1998700
    giuseppe.cantanna@glugto.org
    cantanna@glugto.org
    cantanna@gmail.com

    bproot.bc - Linux user n. 502620 registered on http://counter.li.org/
    *Nodo NINUX: *broot*.*


    *Per favore non inviatemi allegati in formato MS
    Office.Utilizzate alternativamente documenti in formato OpenDocument.* http://en.wikipedia.org/wiki/OpenDocument http://it.wikipedia.org/wiki/OpenDocument


    http://www.documentfoundation.org/
    https://it.libreoffice.org/

    <div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">Ho replicato la cosa usando un file di testo che con fantasia ho chiamato LISTA.<br></div></div><div><br></div><div><div style="font-family:courier new,
    monospace" class="gmail_default">Questo file contiene delle righe. Se ne faccio il cat ottengo un output formato da tutte le linee del file, che mi pare sia un po&#39; quello che ottieni tu con la tua query:</div><div style="font-family:courier new,
    monospace" class="g
  • From Paolo Nicorelli@21:1/5 to Leonardo Boselli on Wed Aug 16 07:50:01 2023
    On Mon, 14 Aug 2023 at 21:10, Leonardo Boselli <leo-stretch@trail.it> wrote:

    se lancio un comando
    #mysql -B -u *** -p*** --database *** -e 'select emai from meet where lcon>"2020-08-01"'

    mi viene fuori un output con ogni riga un record.
    Come faccio a avere una UNICA riga con tutti gli output separati da ',' ? (ossia come faccio a passarli a nmail ?)
    (non voglio usare xarg e mandare messaggi separati a ognuno)


    Se l'output è sotto group_concat_max_len [1] puoi usare direttamente sql

    mysql -B -u *** -p*** --database *** -e 'SELECT GROUP_CONCAT(emai SEPARATOR
    ", ") FROM meet WHERE lcon > "2020-08-01"'

    [1] https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_group_concat_max_len

    <div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif"><span style="font-family:Arial,Helvetica,sans-serif">On Mon, 14 Aug 2023 at 21:10, Leonardo Boselli &lt;<a href="mailto:leo-stretch@trail.it">leo-stretch@
    trail.it</a>&gt; wrote:</span><br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">se lancio un comando<br>
    #mysql -B -u *** -p*** --database *** -e &#39;select emai from meet where <br> lcon&gt;&quot;2020-08-01&quot;&#39;<br>

    mi viene fuori un output con ogni riga un record.<br>
    Come faccio a avere una UNICA riga con tutti gli output separati da &#39;,&#39; ?<br>
    (ossia come faccio a passarli a nmail ?)<br>
    (non voglio usare xarg e mandare messaggi separati a ognuno)<br></blockquote><div><br></div><div class="gmail_default" style=""><font face="verdana, sans-serif">Se l&#39;output è sotto </font>group_concat_max_len<font face="verdana, sans-serif"> [1]
    puoi usare direttamente sql</font></div><div class="gmail_default" style=""><font face="verdana, sans-serif"><br></font></div>mysql -B -u *** -p*** --database *** -e &#39;SELECT GROUP_CONCAT(emai SEPARATOR &quot;, &quot;) FROM meet WHERE lcon &gt; &quot;
    2020-08-01&quot;<span class="gmail_default" style="font-family:verdana,sans-serif">&#39;</span></div><div class="gmail_quote"><font face="verdana, sans-serif"><br></font><div class="gmail_default" style="font-family:verdana,sans-serif">[1] <a href="
    https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_group_concat_max_len">https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_group_concat_max_len</a></div><div class="gmail_default" style="font-family:
    verdana,sans-serif"><br></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)