qrencode

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?

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(a)qwert.it;;'

anziché usare un file o uno script

qrencode nomefile.png -s 5 -m1 < momefile.txt (questo vorrei evitarlo)

comunque grazie

andrea

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