AA_sky_majaFOTO_sxc_1243996.jpg

© MajaFOTO, sxc.hu

Flink durchleuchtet

Automatisiert in LibreOffice-Dokumenten suchen

21.11.2012
In einem Bestand von Hunderten von LibreOffice-Dokumenten finden Sie mit Odtgrep im Handumdrehen die gewünschte Datei.

OpenOffice und LibreOffice speichern in der Standardeinstellung Daten im Open Document Format ODF ab [1]. Wer seine Dokumente nicht allein über Ordner oder Dateinamen organisieren möchte, dem ermöglicht das Format mittels Metadaten die Suche über etliche Zusatztools (siehe Kasten "Suchmaschinen für den Desktop"). Um dieses Feature voll auszureizen, gilt es sich mit dessen Feinheiten vertraut zu machen.

Suchmaschinen für den Desktop

Bei der Suche nach Dateien kommen zunehmend entsprechende Spezialprogramme zum Einsatz, die sogenannten Desktop-Suchmaschinen. Dazu zählen neben Google Desktop die Aufsteiger Metatracker [11], Imgseek [12], Strigi [13] und Terrier [14]. Beim bekannten Vorreiter Beagle stockt mittlerweile die Entwicklung. Für die Suche in einem umfangreicheren Datenbestand eignet sich die Kombination aus den beiden Apache-Projekten Lucene [15] und Solr [16].

Eine Suchmaschine verarbeitet die Daten in mehreren Phasen. Sie indexiert und klassifiziert vorab Dokumente, um später anhand dieser Informationen zu entscheiden, ob ein Dokument aus dem Datenbestand zu einer Suche passt. Falls ja, kommt es in die Liste der Treffer. Für die Klassifikation orientiert sich eine Suchmaschine an vier Faktoren: Dem Format des Dokuments, dessen Metadaten, der Struktur des Texts und am tatsächlichen Inhalt.

Die Metadaten helfen dabei, den Inhalt eines Dokuments thematisch zuzuordnen. Dazu beschreiben sie diesen beispielsweise anhand von Schlüsselworten. Liegen keine Metadaten vor, versuchen die Suchmaschinen über den Inhalt der Dokumente Informationen abzuleiten. Dabei kommen Methoden aus der Sprachwissenschaft sowie statistische Verfahren zum Einsatz.

Beim Strukturieren des Texts helfen Formatvorlagen (siehe Kasten "Struktur festlegen"), diese zusätzlich einen barrierefreien Zugriff ermöglichen. Über diesen greift auch die Suchmaschine auf die Daten zu und ermittelt so die einzelnen Bestandteile des Dokuments. Ohne diese zusätzliche Information besteht ein Dokument aus Sicht der Suchmaschine nur aus gleichwertigem, unstrukturiertem Text.

Struktur festlegen

LibreOffice bietet wie die meisten Office-Pakete die Möglichkeit, über Formatvorlagen die Optionen zum Darstellen (Formatieren) von Elementen separat zu definieren. Das bietet sich auch an, um wiederkehrende Inhalte zu konfigurieren – beispielsweise für Kopf- und Fußzeilen oder generell, um das Aussehen von Textteilen zu vereinheitlichen. Die Vorlagen unterscheiden sich je nach Einsatzgebiet: Absatz, Rahmen, Seite. Ausgenommen sind hier nur die Einstellungen für die Spaltenaufteilung. Weitere Informationen und Beispiele zu den Vorlagen finden sich in den Wikis von Open- und LibreOffice ([17],[18],[19]).

Metadaten eingeben

Die Offenheit und ausführliche Dokumentation von ODF vereinfacht die Suche in den Dateien erheblich. Allerdings speichern bislang nur wenige Anwender Metadaten in Dokumenten – entweder aus Unwissenheit oder schlicht, weil der Aufwand zu hoch erschien. Dabei ist die Arbeit oft flink erledigt und hilft später schnell zu erfassen, worum es im Dokument ging.

Unter Datei | Eigenschaften öffnen Sie den Reiter Beschreibung und füllen die vier Felder Titel, Thema, Schlüsselworte und Kommentar mit möglichst aussagekräftigen Begriffen aus. Als Kommentar bietet sich eine Zusammenfassung des Inhalts an. Ein Klick auf OK speichert die Daten (Abbildung 1).

Abbildung 1: Mit nur wenigen Angaben in den Eigenschaften eines Dokuments erhöhen Sie die Chance, später schnell das richtige Dokument wiederzufinden.

Metadaten auslesen

Ein ODF-Dokument besteht aus einer Reihe von XML-Dateien mit fest vorgegebenen Dateinamen, die in einem Zip-Archiv lagern. Wenden Sie hingegen das Kommando file auf eine Datei aus OpenOffice oder LibreOffice an, erhalten Sie als Rückgabewert OpenDocument Text, für eine Calc-Tabelle hingegen OpenDocument Spreadsheet (Abbildung 2).

Abbildung 2: File erkennt den Typ des Dokuments – Text oder Tabelle.

Gemäß der Definition des Formats findet sich die Beschreibung für den Dateityp in der im Archiv enthaltene Datei mimetype, die explizit unkomprimiert an erster Stelle im Archiv liegt, sodass das Auslesen ohne Entpacken gelingt. Packen Sie ein entsprechendes Dokument mit dem Kommando unzip Datei aus, erhalten Sie die in der Tabelle "ODF-Dokumente: Bestandteile" erwähnten Dateien.

ODF-Dokumente: Bestandteile

Dateiname Bedeutung
mimetype MIME-Type-Information
content.xml Inhalte des Dokuments als XML-Datei
meta.xml Meta-Informationen zum Dokument
settings.xml Dokumentspezifische Einstellungen
styles.xml Dokumentspezifische Formatierungen
Configurations2 Bestandteile des Dokuments
META-INF/manifest.xml Liste aller weiteren Dateien mit MIME-Typ
Thumbnails/thumbnail.png Vorschau der ersten Dokumentenseite

Aus diesen Dateien ist für Sie zunächst nur die XML-Datei meta.xml interessant, da sie die Meta-Informationen zum Dokument beinhaltet. Dazu zählen der Titel, das Thema, die Beschreibung sowie die Schlüsselwörter. Weiterhin merkt sich die Office-Suite das Erstellungsdatum, die Dauer des Bearbeitens und die Anzahl der Editiervorgänge (editing cycles). Zusätzlich finden sich statistische Angaben wie Wort-, Satz- und Seitenanzahl sowie die Programmversion, mit der Sie das Dokument bearbeitet haben.

Für die Suche in der XML-Datei über die Kommandozeile bietet sich das Tool xml_grep aus den XML-Twig-Tools [2] an. Der Knoten dc:description aus dem XML-Baum enthält die Beschreibung. Listing 1 zeigt, wie Sie dessen Inhalt auslesen. Als Ergebnis erzeugt das Tool zunächst ein valides XML-Dokument mit dem gewünschten Knoten (oben), mit dem Parameter --text_only gibt es nur den Inhalt des Knotens aus (unten). Die Ausgabe eignet sich zum Weiterverarbeiten mit anderen Werkzeugen.

Listing 1

$ xml_grep "dc:description" meta.xml
<?xml version="1.0" ?>
<xml_grep version="0.7" date="Tue Aug 28 11:29:27 2012">
<file filename="meta.xml">
  <dc:description>irgendwas</dc:description>
</file>
</xml_grep>
$ xml_grep --text_only "dc:description" meta.xml
 irgendwas

Möchten Sie alle Meta-Informationen zum Dokument anzeigen, hilft Ihnen das Shell-Skript odtinfo.sh (Listing 2). Es funktioniert ähnlich wie pdfinfo, welches die Metadaten zu PDF-Dokumenten anzeigt. Sie rufen es über die Kommandozeile mit der Datei als Parameter auf (Listing 3). Das Skript entpackt aus dem Archiv zunächst nur die Datei mit den Meta-Informationen (meta.xml). Danach liest es die Informationen zu den gewünschten Knoten ein und gibt diese formatiert auf der Standardausgabe aus.

Listing 2

#!/bin/bash
if [ $# -ne 1 ]; then
    echo "usage: odtinfo filename"
    exit 1
fi
filename="$1"
which xml_grep > /dev/null
if [ $? -ne 0 ]; then
    echo "cannot find xml_grep"
    exit 1
fi
grep="xml_grep --text_only"
oometa="//office:document-meta/office:meta"
filecontent=$(unzip -p "$filename" meta.xml)
title=$(echo $filecontent | $grep "$oometa/dc:title")
subject=$(echo $filecontent | $grep "$oometa/dc:subject")
description=$(echo $filecontent | $grep "$oometa/dc:description")
keywords=$(echo $filecontent | $grep "$oometa/meta:keyword" | tr -s '\n' ' ')
creationdate=$(echo $filecontent | $grep "$oometa/meta:creation-date" | tr 'T' ' ')
editingcycles=$(echo $filecontent | $grep "$oometa/meta:editing-cycles")
editingduration=$(echo $filecontent | $grep "$oometa/meta:editing-duration")
generator=`echo $filecontent | $grep "$oometa/meta:generator"`
echo "            file: $filename"
echo "           title: $title"
echo "         subject: $subject"
echo "     description: $description"
echo "        keywords: $keywords"
echo "   creation date: $creationdate"
echo "  editing cycles: $editingcycles"
echo "edition duration: $editingduration"
echo "       generator: $generator"

Listing 3

$ ./odtinfo.sh tatort.odt
            file: tatort.odt
           title: Tatort - ein Überblick
         subject: Fernsehserie
     description: Überblick zur Fernsehserie Tatort (ARD) - Historie, Drehorte, Darsteller (entnommen aus Wikipedia)
        keywords: Tatort, Krimi, Fernsehen, ARD
   creation date: 2012-08-27 21:51:05
  editing cycles: 1
edition duration: PT00H02M17S
       generator: OpenOffice.org/3.2$LinuxOpenOffice.org_project/320m19$Build-9505

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Suche in Datenformaten (Teil 1)
    Grep gehört zu den elementaren Linux-Werkzeugen. Eine Reihe von Zusatztools hilft bei der Suche in Formaten, die dem kleinen Tool sonst versperrt bleiben.
  • Innere Werte
    Postscript- und PDF-Dokumente führen Zusatzdaten mit, die Aufschluss über das Dokument und dessen Autor geben. Diese Meta-Informationen lassen sich auch setzen und bearbeiten.
  • Ein Multifunktionsgerät für die Arbeit mit PDF-Dateien
    Zur Verarbeitung der Papierberge im Büro nutzen wir die moderne Bürotechnik. Wir müssen Dokumente abheften und entheften, kopieren, neu zusammenstellen, abstempeln, untersuchen oder klassifizieren. Bei der täglichen Arbeit mit elektronischen Dokumenten kann ein ganz spezielles Multifunktionsgerät verwendet werden: Pdftk ­ das PDF-Toolkit.
  • Teil 4: Kontrollstrukturen
    In den ersten drei Teilen haben Sie die Grundlagen der Bash-Programmierung und die Stringverarbeitung kennengelernt. Das genügt aber nicht, um wirklich leistungsfähige Programme zu schreiben – Kontrollstrukturen tun Not.
  • Mit pdflatex bessere PDF-Dateien erzeugen
    Profi-Textsatz ist und bleibt eine Domäne von LaTeX. Soll das Ausgabeformat PDF sein, liefert pdflatex die besten Ergebnisse.
Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.