[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: