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