Thema: Dokumente vorbereiten für die Stapelverarbeitung, also umfangreicher, repetitiver Datenverarbeitung
Zielgruppe: Büros und Verwaltung von Selbständigen, Bildungseinrichtungen, gemeinnützige Institutionen
Motivation: Automatisierung des Arbeits-Alltages
Hier wird die Vorbereitung erklärt, um Millionen Daten, Wörter, Steuerzeichen und Zeilen in kürzester Zeit ändern, aktualisieren oder löschen innerhalb von sehr vielen Dokumenten in Verzeichnissen und Unterverzeichnissen.
Inhaltsverzeichnis
Begründung
Weshalb sollte man bestehende Dokumente massenweise umwandeln in eine Textdatei? Hier im Beitrag am Beispiel von LibreOffice-Writer-Dokumenten. Geht aber auch bei jedem anderen Office-Dokument, mit eventuell anderen Werkzeugen.
Es ist einfacher, Textdateien für die Stapelverarbeitung zu nutzen, als jeweils die interne content.xml
eines ODT-Dokumentes.
Jede ODT-Datei ist ein Archiv mit mehreren Dateien. Unter anderem liegt darin die Datei content.xml
mit dem eigentlichen Textinhalt und mit sehr viel Layout, wie CSS und Meta-Information. Um diese Daten für einen Batch-Vorgang aufzubereiten, müsste man die content.xml
extrahieren, das XML-Schema auflösen und die Datei wieder zusammenfügen.
Achtung, eine komplette Arbeitsanweisung ist dieser Beitrag nicht, doch er zeigt die Tür zum Ziel.
lowriter
Generell ist es von Vorteil, wenn schon bei dem Erstellen von Dokumenten, der Syntax des der jeweiligen Office-Suite, konsequent genutzt wird. Das spart vor allem Zeit von Anfang an und Steuerzeichen werden korrekt gesetzt.
Bei der Umwandlung von ODT-Dokumenten hilft der interne CLI-Befehl von LibreOffice, der lowriter
. Meine empfohlen Parameter des Befehl sind wie folgt.
libreoffice --nolockcheck --headless --convert-to txt ./*.odt
Und hier meine Kommentierung.
# nolockcheck, Ohne Prüfung
# headless, Ohne GUI
# convert-to, Wandle um nach Textdokument von <Dokument>.odt
Nun sind alle Vorbereitungen abgeschlossen. Für alle ODT-Dokumenten im selbigen Verzeichnis.

Bild 1: Originaldokument

Bild 2: Konvertiertes Dokument
Nachfolgende Bearbeitungen
Nun können vielfältige Veränderungen in allen Textdokumenten mit einmal vorgenommen werden. Ich empfehle für Textbearbeitungen den mächtigen sed
-Befehl:
- Anwendung der Rechtschreibung durch Ersetzungen
- Den alten Firmennamen durch den aktuellen Firmennamen ersetzen
- Streichung von bestimmten Zeilen
- Einfügen von neuem Inhalt
- Korrekturen, wie beispielsweise Großschreibung eines bestimmten Eigennamen
- Abstände ändern, wie etwa breites oder schmales Leerzeichen
- Zeilenumbrüche manipulieren
- Weitere Steuerungszeichen beeinflussen
Hinweis
Vor der Manipulation von Dokumenten, immer ein Backup erstellen.
Datenbanken und Tabellen haben das csv
-Datenformat als Austausch- und Bearbeitungsformat.
Um Datenbanken und Tabellen zu manipulieren, adäquat dem sed
-Kommando, empfehle ich den awk
-Befehl zu nutzen, der schon eine eigene Script-Sprache darstellt.