Ciao a tutti, ho l'esigenza di usare qrencode da riga di comando, ci sono delle GUI (es. QtQR) ma la riga di comando permette molto di più ed è infinitamente più flessibile. Ho risolto in parte, nel senso che riesco a produrre il QR Cede in due passaggi
1. compilo un file txt come nell'esempio seguente (chiamato evento1.txt)
BEGIN:VCALENDAR VERSION:1.0 BEGIN:VEVENT DTSTART:20121121T090000 DTEND:20121121T100000 SUMMARY:Riunione LOCATION:Ufficio di Raffaella DESCRIPTION:Discussione turni di lavoro PRIORITY:3 END:VEVENT END:VCALENDAR
2. creo il Qr (evento.png) con il comando
qrencode evento.png -s 5 -m 1 < evento.txt
So che si potrebbe saltare un passaggio e scrivere ciò che è scritto nel file txt direttamente nella stringa qrencode ma non trovo la sintassi, come posso fare? ----------------------------------------------------- per esempio un contatto telefonico e mail(estratto da un file vcf)
da
N:andrea TEL:123456 EMAIL:lamiamail@qwert.it
a
qrencode evento.png -s 5 -m 1 'MECARD:N:Andrea;TEL:123456;EMAIL:lamiamail@qwert.it;;' -------------------------------------------------------------
di seguito alcuni riferimenti internet
https://github.com/zxing/zxing/wiki/Barcode-Contents https://gist.github.com/DeMarko/6142417 https://en.wikipedia.org/wiki/ICalendar
Ciao e grazie
andrea
On Sat, 06 Jan 2018, Andrea Congiu wrote:
- creo il Qr (evento.png) con il comando
qrencode evento.png -s 5 -m 1 < evento.txt
So che si potrebbe saltare un passaggio e scrivere ciò che è scritto nel file txt direttamente nella stringa qrencode ma non trovo la sintassi, come posso fare?
Ciao Andrea,
dipende come il file evento.txt viene generato. Se è l'output di un programma, allora puoi direttamente concatenare i due programmi con una pipe:
generator_program | qrencode evento.png -s 5 -m 1
Se invece il contenuto viene generato al volo, per esempio in uno script, allora potresti usare un here document:
qrencode -o /tmp/evento.png -s 5 -m 1 <<EOF BEGIN:VCALENDAR VERSION:1.0 BEGIN:VEVENT DTSTART:20121121T090000 DTEND:20121121T100000 SUMMARY:Riunione LOCATION:Ufficio di Raffaella DESCRIPTION:Discussione turni di lavoro PRIORITY:3 END:VEVENT END:VCALENDAR EOF
Cioè tutto il contenuto dopo la riga che inizia il here il heredoc <<EOF fino al end marker EOF viene scritto al standard input del comando.
Spesso si vede il here document anche in questa forma:
cat <<EOF | qrencode evento.png -s 5 -m 1 ... EOF
Molto utile questa cosa nei script, perché è possibile usare variabili nei here document.
Thomas
No, io vorrei scrivere a mano tutta la stringa su un'unica riga tipo per l'esempio del contatto
qrencode nomefile.png -s 5 -m1 'MECARD:N:Andrea;TEL:123456;EMAIL:lamiamail@qwert.it;;'
anziché usare un file o uno script
qrencode nomefile.png -s 5 -m1 < momefile.txt (questo vorrei evitarlo)
comunque grazie
andrea
Il 06/01/2018 12:22, Thomas Pircher ha scritto:
On Sat, 06 Jan 2018, Andrea Congiu wrote:
- creo il Qr (evento.png) con il comando
qrencode evento.png -s 5 -m 1 < evento.txt
So che si potrebbe saltare un passaggio e scrivere ciò che è scritto nel file txt direttamente nella stringa qrencode ma non trovo la sintassi, come posso fare?
Ciao Andrea,
dipende come il file evento.txt viene generato. Se è l'output di un programma, allora puoi direttamente concatenare i due programmi con una pipe:
generator_program | qrencode evento.png -s 5 -m 1
Se invece il contenuto viene generato al volo, per esempio in uno script, allora potresti usare un here document:
qrencode -o /tmp/evento.png -s 5 -m 1 <<EOF BEGIN:VCALENDAR VERSION:1.0 BEGIN:VEVENT DTSTART:20121121T090000 DTEND:20121121T100000 SUMMARY:Riunione LOCATION:Ufficio di Raffaella DESCRIPTION:Discussione turni di lavoro PRIORITY:3 END:VEVENT END:VCALENDAR EOF
Cioè tutto il contenuto dopo la riga che inizia il here il heredoc <<EOF fino al end marker EOF viene scritto al standard input del comando.
Spesso si vede il here document anche in questa forma:
cat <<EOF | qrencode evento.png -s 5 -m 1 ... EOF
Molto utile questa cosa nei script, perché è possibile usare variabili nei here document.
Thomas _______________________________________________ http://lists.lugbz.org/cgi-bin/mailman/listinfo/lugbz-list
On Sat, 06 Jan 2018, Andrea Congiu wrote:
No, io vorrei scrivere a mano tutta la stringa su un'unica riga tipo per l'esempio del contatto
Guardando la man page di qrencode, non penso che questo sia possibile. qrencode transcodifica il file, non ne cambia il contenuto.
Il tuo esempio funziona perché il formato permette di scrivere tutto in una riga.
Non so se il formato iCalendar permette di essere scritto tutto in una riga. Il formato é definito qua: https://tools.ietf.org/html/rfc5545
Th
Ciao, ti ringrazio molto, non è una tragedia editare un ics.
Comunque cercherò di fare delle prove come mi hai suggerito (pipe, EOF) e vedo quale soluzione si adatta meglio alle mie esigenze.
Grazie ancora
ciao
andrea
Il 06/01/2018 13:02, Thomas Pircher ha scritto:
On Sat, 06 Jan 2018, Andrea Congiu wrote:
No, io vorrei scrivere a mano tutta la stringa su un'unica riga tipo per l'esempio del contatto
Guardando la man page di qrencode, non penso che questo sia possibile. qrencode transcodifica il file, non ne cambia il contenuto.
Il tuo esempio funziona perché il formato permette di scrivere tutto in una riga.
Non so se il formato iCalendar permette di essere scritto tutto in una riga. Il formato é definito qua: https://tools.ietf.org/html/rfc5545
Th _______________________________________________ http://lists.lugbz.org/cgi-bin/mailman/listinfo/lugbz-list