Thread Dateien durchsuchen, über mehrere Zeilen hinweg
(6 answers)
Opened by Breston at 2009-02-25 18:43
Hallo zusammen,
kurz vorweg: ich bin völliger Perl-Anfänger und habe ein Problem, bei dem ich dachte, mit ein bischen Einlesen und Anschauen von Beispielprogrammen kriege ich es hin. Mittlerweile bin ich aber verzweifelt - es klappt einfach nicht. Die Problemstellung: ich habe eine Datei, die eine ganze Reihe von folgenden Zeilenpaaren enthält: AIEA7#AHF020#AQX100#AJK888#AFED#CLD200901#ADC400#ADL0000000000000025,00+#AEA111# AAU1995#ARR1995#ZZZEND# Ich möchte nun in einem ersten Schritt nach bestimmten Konstellationen suchen - alle Zeilenpaare, in denen der Wert von AHF 020 ist (also der String AHF020 vorkommt), der Wert von ADC 400 ist (String ADC400), und in der nächsten Zeile die Felder AAU und ARR auf 1995 stehen. Die Feldbezeichnungen sind also fix, die Werte variabel. Aber: AAU und ARR stehen immer in einer anderen Zeile als AHF und ADC. Und das ist das Problem, an dem meine Suchkriterien alle scheitern. Die Trefferzeilen sollen letztendlich ausgegeben werden. Womit ich das mache, wäre eigentlich egal. Aber die Suchfunktion der regulären Ausdrücke in vi und sed erstrecken sich immer nur über eine Zeile, wie ich lernen musste. In Perl sollte das aber doch im Prinzip möglich sein, oder? Kann mir jemand Hinweise geben, wie ich das mache? Wie gesagt, bin völliger Perl-Anfänger. Laufen soll das ganze dann einfach von der Shell-Oberfläche unter Unix. Vielen Dank, Breston |