Guten Morgen,
ich will feststellen, welche OpenOffice-Text-Dateien in einem Pfad eine bestimmte Textkette enthalten.
grep liefert das Ergebnis, daß keine Datei die gesuchte Textkette enthält, obwohl die Dateien die Textkette wirklich enthalten (Öff- nen und Hinsehen).
Ursache dürfte die interne Codierung von OpenOffice sein, die zwar zu erfreulich geringem Speicherplatzbedarf führt, aber die die Textketten unerkennbar macht.
Abhilfe bietet die Abspeicherung in einem anderen als dem Stan- dardformat vom OpenOffice. Unbequem die Sache! Geht es mit Hilfe irgendeines "Tricks" auch im Standardformat von Open- Office?
Vielen Dank für Hilfe! Einen erfreulichen Tag wünscht
Peter M.
On Thu, Feb 27, 2003 at 01:29:55PM +0100, Barbara / Dr. Peter Mazurek wrote:
ich will feststellen, welche OpenOffice-Text-Dateien in einem Pfad eine bestimmte Textkette enthalten.
...
Abhilfe bietet die Abspeicherung in einem anderen als dem Stan- dardformat vom OpenOffice. Unbequem die Sache! Geht es mit Hilfe irgendeines "Tricks" auch im Standardformat von Open- Office?
Die OpenOffice.org Formate sind an sich ZIP Dateien, die mehrere XML-Teile f�r Content, Formatierung und Metadaten enthalten, also
unzip -d /tmp/Meinfile Meinfile.sxw grep "Mein Text" /tmp/Meinfile/*
sollte dir weiterhelfen.
Gru� Jan
am 27.02.2003, um 13:29:55 +0100 mailte Barbara / Dr.Peter Mazurek folgendes:
Abhilfe bietet die Abspeicherung in einem anderen als dem Stan- dardformat vom OpenOffice. Unbequem die Sache! Geht es mit Hilfe irgendeines "Tricks" auch im Standardformat von Open- Office?
Ja, könnte/sollte gehen.
OO speichert im XML-Format, allerdings als gepacktes tar-Archiv. Wenn man das auspackt, kann man es greppen. Dies sollte der prinzipielle Weg sein, gemacht habe ich sowas noch nicht, da gibt es sicher bessere Script-Experten als mich...
Andreas
ich will feststellen, welche OpenOffice-Text-Dateien in einem Pfad eine bestimmte Textkette enthalten.
grep liefert das Ergebnis, daß keine Datei die gesuchte Textkette enthält, obwohl die Dateien die Textkette wirklich enthalten (Öff- nen und Hinsehen).
Ursache dürfte die interne Codierung von OpenOffice sein, die zwar zu erfreulich geringem Speicherplatzbedarf führt, aber die die Textketten unerkennbar macht.
Die Openoffice-Dateien sind reine xml-Dateien und mit zip gepackt. Eventuell hilft zgrep (kann das momentan nicht testen Windows :-( ) Probleme könnte noch die Kodierung der Sonderzeichen bereiten.
Jens Weiße
Hi Peter,
On Thu, Feb 27, 2003 at 13:29:55 +0100, Barbara / Dr.Peter Mazurek wrote:
ich will feststellen, welche OpenOffice-Text-Dateien in einem Pfad eine bestimmte Textkette enthalten.
[...]
Ursache dürfte die interne Codierung von OpenOffice sein, die zwar zu erfreulich geringem Speicherplatzbedarf führt, aber die die Textketten unerkennbar macht.
AFAIK sind OpenOffice-Dokumente zip-Archive, die XML-Dateien enthalten. Mit einem einfachen grep ist es da also nicht getan. In der OpenOffice-Hilfe ist sogar der Aufbau des Formats beschrieben. Interessant duerfte die Datei content.xml sein.
Quick-n-dirty Shellskript "grepsxw":
#!/bin/sh # Aufruf: grepsxw Suchmuster [ -z "$1" ] && exit pat="$1" ls *.sxw | while read doc do unzip -p "$doc" content.xml | grep -q "$pat" && echo "$doc" done
Das Skript durchsucht nur Dateien mit Endung .sxw im aktuellen Verzeichnis. Da grep nicht zwischen XML-Tags und dem eigentlichen Inhalt unterscheiden kann, wird ein Treffer auch dann angezeigt, wenn das Suchmuster ein Tagname ist.
bye, Chris
Hi Christian! On Thu, Feb 27, 2003 at 04:44:32PM +0100, Christian Perle wrote:
On Thu, Feb 27, 2003 at 13:29:55 +0100, Barbara / Dr.Peter Mazurek wrote:
ich will feststellen, welche OpenOffice-Text-Dateien in einem Pfad eine bestimmte Textkette enthalten.
Quick-n-dirty Shellskript "grepsxw":
[...]
Da grep nicht zwischen XML-Tags und dem eigentlichen Inhalt unterscheiden kann, wird ein Treffer auch dann angezeigt, wenn das Suchmuster ein Tagname ist.
Gibt es da nicht einen eleganten Ausdruck, der das durch läßt, was nicht Tag ist? Sowas in die Richtung: grep -v ^[<.*>] ?!? (Nicht schlagen für meine miserablen regexp-Kenntnisse ;-)
Bert
Hallo,
ich wünsche zunächst das, was mir seit ein paar Tagen fehlt: Gesundheit. Die De- und Infekthexe hat mich trotz meiner Grippeschutzimpfung aus vollem Rohr getroffen und dabei meine Frau gleich noch mit.
Vielen Dank für die Hinweise zum obighen Betreff, denen ich mangels Elan und Durchhaltevermögen noch nicht nachgehen konnte. Der gute Wille ist schon da, und später werde ich berich- ten, was mir die Hinweise genützt haben.
Also: Gesundheit!
Peter M.
lug-dd@mailman.schlittermann.de