On Wed, Feb 19, 2003 at 12:01:21PM +0100, Friedrich Hagedorn wrote:
Hallo,
ich muss in einer grossen (Text-)Datenbank-Datei einige Einträge raussuchen. Die Datei hat ungefair folgenden Aufbau:
[cut]
Ich hab schon mit verschiedenen Sachen wie grep und sed rumgespielt. Aber so besonders kenn ich mich da halt nicht aus. grep geht denk ich nicht, da es nur auf einer Zeile immer sucht. Ich würde es irgendwie mit sed machen, nur bekomm ich das mit dem regulären Ausdruck nicht hin.
Prima, endlich kann ich mal wieder Werbung für Python machen! Sicherlich lässt sich das auch mit sed lösen, doch das wird sicherlich kryptisch und es gibt außerdem verschiedene sed Implementierungen.
die Lösung könnte so aussehen: (ungetestet)
import re
fd=open(file) content=fd.read() fd.close()
matches=re.findall(r'<Kennung>.*<Nummer>(<relevanter text>)', content) print matches
Eine Einführung in die Programmiersprache findest du hier: http://www.thomas-guettler.de/vortraege/python/einfuehrung.html
thomas