Come ottenere i dati da Libre Office Calc e utilizzarli in uno script bash?

Aug 22 2020

Sto usando Ubuntu 20.04.1

Ho Libre Office Calc. con due colonne funzionanti.
Modifico queste due colonne settimanalmente una volta ..

A   987654320
B   987654321
C   987654322
D   987654323
E   987654324
F   987654325
G   987654326

Devo scrivere uno script bash che ottenga i dati dalle due colonne sopra e creare un file di testo come di seguito come esempio

BEGIN:VCARD
VERSION:3.0
FN:$(content of column1, row1) N:$(content of column1,row1)
TEL;TYPE=cell:$(content of column2, row1) END:VCARD BEGIN:VCARD VERSION:3.0 FN:$(content of column1, row2)
N:$(content of column1,row2) TEL;TYPE=cell:$(content of column2, row2)
END:VCARD

and so on till it finds the content at last existing row

Risposte

6 N0rbert Aug 22 2020 at 19:35

Possiamo ottenere il risultato necessario con un processo in due fasi:

  1. convertiamo il foglio di calcolo in file.txt (in realtà CSV):

    localc --headless --convert-to txt:"Text - txt - csv (StarCalc)" file.ods
    
  2. usa alcuni script AWK:

    awk -F, '{
    print "BEGIN:VCARD"
    print "VERSION:3.0"
    print "FN:"$1 print "N:"$1
    print "TEL;TYPE=cell:"$2
    print "END:VCARD"
    print ""
    }' file.txt