Re: [OT] BASH - SQLite query - espansione variabili
Ciao,
Il 25/10/17, Felipe Salvador<felipe.salvador@gmail.com> ha scritto:
> Buonasera lista,
> ho questa situazioni qui:
>
> $read DATA <<< tee </var/lib/pmacct/up-date
> $echo $DATA
> $"2017-10-25 16:32:40"
> $sqlite3 -column /var/lib/pmacct/pmacct.db 'SELECT SUM(bytes) FROM
> acct WHERE stamp_updated > "$DATA";'
> $428706514
>
> Non va, dovrebbe essere un parziale ma 428706514 è un totale. Pare che
> $DATA si espanda solo fino allo spazio, prendendo solo l'anno.
>
> $sqlite3 -column /var/lib/pmacct/pmacct.db 'SELECT SUM(bytes) FROM
> acct WHERE stamp_updated > "2017-10-25 16:32:40";'
> $81710212
>
> Non riesco a farlo espandere per intero, "2017-10-25 16:32:40".
>
> Sto diventando (+)scemo, aiuto.
>
Non ho capito come hai fatto senza export a far espandere quella
variabile dentro una stringa con apici singoli ma vabbè, magari
intendevi che hai usato ...
Secondo me o è una cosa o è un'altra:
1) se è quello che dici tu, devi cambiare le virgolette:
$sqlite3 -column /var/lib/pmacct/pmacct.db "SELECT SUM(bytes) FROM
acct WHERE stamp_updated > '2017-10-25 16:32:40';"
$#oppure
$sqlite3 -column /var/lib/pmacct/pmacct.db "SELECT SUM(bytes) FROM
acct WHERE stamp_updated > '$DATA';"
In modo che sqlite capisca che la data sia una stringa sola
2) magari invece è un problema della query, prova con select
sum(bytes) from acct group by bytes having stamp_updated > '2017-10-25
16:32:40';
Ciao
Reply to: