Forums Neueste Beiträge
 

odt-Dateien per Skript bearbeiten

06/10/2015 - 20:10 von Klaus Becker | Report spam
n'Abend,

ich kopiere öfters Webseiten in Writer, um sie dort fürs drucken zu
bearbeiten. Manchmal ist die Datei recht umfangreich, und es ist
mühselig, sie innerhalb von LibreOffice aufzuarbeiten.

Es geht mir darum, Bilder zu entfernen, mehrfache Leerzeilen zu
löschen und eventuell andere unnütze Partien.

Ich dekomprimiere die odt-Datei, bearbeite content.xml und komprimiere
alles wieder zu einer odt-Datei. Versucht habe ich es z. B. mit
folgenden sed-Befehlen:

# löscht Zeilenvorschub (?)
sed -i 's#<text:line-break/>##g' content.xml

# löscht Zeilenvorschub mit neuem Abschnitt
sed -i 's#</text:p>.*"P1">##g' content.xml

# löscht aller Bilder
sed -i 's#<draw:frame.*</draw:frame>##g' content.xml

Ich habe also mühselig versucht herauszufinden, welche Teile der
content.xml ich löschen muss, um mein jeweiliges Ziel zu erreichen.

Das klappt mehr oder weniger bei kleinen Testdateien, funktionniert
aber nicht mit grösseren realen Dateien. Ich frage mich inzwischen, ob
meine Vorgehensweise angebracht ist, und ob so etwas überhaupt mit sed
möglich ist.

Vielleicht hat jemand einen Rat für mich?

schônen Abend

Klaus
 

Lesen sie die antworten

#1 Christoph Schmees
06/10/2015 - 21:40 | Warnen spam
Am 06.10.2015 um 20:02 schrieb Klaus Becker:
n'Abend,

ich kopiere öfters Webseiten in Writer, um sie dort fürs drucken zu
bearbeiten. Manchmal ist die Datei recht umfangreich, und es ist
mühselig, sie innerhalb von LibreOffice aufzuarbeiten.

Es geht mir darum, Bilder zu entfernen, mehrfache Leerzeilen zu
löschen und eventuell andere unnütze Partien.

Ich dekomprimiere die odt-Datei, bearbeite content.xml und komprimiere
alles wieder zu einer odt-Datei. Versucht habe ich es z. B. mit
folgenden sed-Befehlen:

# löscht Zeilenvorschub (?)
sed -i 's#<text:line-break/>##g' content.xml

# löscht Zeilenvorschub mit neuem Abschnitt
sed -i 's#</text:p>.*"P1">##g' content.xml

# löscht aller Bilder
sed -i 's#<draw:frame.*</draw:frame>##g' content.xml

Ich habe also mühselig versucht herauszufinden, welche Teile der
content.xml ich löschen muss, um mein jeweiliges Ziel zu erreichen.

Das klappt mehr oder weniger bei kleinen Testdateien, funktionniert
aber nicht mit grösseren realen Dateien. Ich frage mich inzwischen, ob
meine Vorgehensweise angebracht ist, und ob so etwas überhaupt mit sed
möglich ist.

Vielleicht hat jemand einen Rat für mich?




ja: <https://www.libreoffice.org/get-hel...pport/>

Deine Frage hat mit debian genau nichts zu tun.

Herzliche Grüße,
Christoph

Bitte keine Mails von USA-Providern wie AOL, me.com (Apple),
gmail (Google), hotmail/outlook.com (Microsoft) oder yahoo.
Solche Mails werden ohne Rückmeldung gelöscht.
Siehe <http://www.pc-fluesterer.info/wordp...nloads>

Ähnliche fragen