Voglio aggiungere linee a una tabella calc libreoffice dalla riga di comando. Ma non ho idea di come.
Ho appena capito come avviare libreoffice dalla riga di comando.
Ad esempio, che cosa sta cercando: -Il test.ods-file
prima
Name Text Hans Bla Christian BlaBlub
Io entro…
ubuntu> [a command -insert] Alf|test -file=test.ods
in modo che “Alf” e “test” vengano aggiunti come riga successiva nella tabella.
-Il test.ods-file
dopo:
Name Text Hans Bla Christian BlaBlub Alf test
.ods
è un archivio. Quindi dovrai estrarre l’archivio.
Dalla documentazione :
Struttura del file XML
I documenti nel formato di file OpenDocument sono memorizzati come archivi zip compressi che contengono file XML. Per visualizzare questi file XML, è ansible aprire il file OpenDocument con un programma di decompressione. I seguenti file e directory sono contenuti nei file OpenDocument:
- Il contenuto del testo del documento si trova in content.xml.
Quindi non è così semplice come
[a command -insert] Alf|test -file=test.ods
dal momento che devi anche inserire le parti XML.
$ cd ~/tmp/ $ unzip ../test.ods Archive: test.ods extracting: mimetype extracting: Thumbnails/thumbnail.png inflating: settings.xml inflating: content.xml inflating: meta.xml inflating: styles.xml inflating: manifest.rdf creating: Configurations2/images/Bitmaps/ creating: Configurations2/toolpanel/ creating: Configurations2/progressbar/ inflating: Configurations2/accelerator/current.xml creating: Configurations2/floater/ creating: Configurations2/statusbar/ creating: Configurations2/toolbar/ creating: Configurations2/popupmenu/ creating: Configurations2/menubar/ inflating: META-INF/manifest.xml
Quando si guarda content.xml e si desidera aggiungere una nuova riga al di sotto dell’ultimo, è necessario aggiungere qualcosa come …
a2a2a2 b2b2b2
prima
e quindi comprimere nuovamente i file ( zip -r ../test2.ods .
dalla directory con i file).
Risultato:
Per modificare il file dalla riga di comando ho usato questo comando. Ho messo l’esempio in ~ / Downloads e fatto un tmp / in là per testare. Tutti i comandi usati per questo:
cd ~/Downloads/tmp/ unzip ../test.ods sed 's# #a3a3a3 b3b3b3 ' content.xml > content2.xml mv content2.xml content.xml zip -r ../test2.ods .
Tutto quello che devi fare è sostituire i segmenti di testo con i tuoi.
Versione più recente per gentile concessione di Terdon (utilizza variabili per renderlo più leggibile):
$ from=" " $ to="a3a3a3 b3b3b3 " $ sed "s#$from#$to$from#" content.xml
Il “#” è un separatore. Se hai un “#” nel testo usa qualcos’altro.