Thread Textdatei auslesen und nach bestimmten Filterkrite
(7 answers)
Opened by Arasiel at 2004-08-06 11:43
Hallo,
ich soll eine Textdatei mit Perl verarbeiten, weiss aber nicht wie! Auszug aus dem Aufbau der Logdatei: [08/05/2004 (18:13:32)]: Adapter 1 Channel 1 Target 0: Physical Drive[MAXTOR ATLAS15K_36SCA DTA0] is Changed to FAILED. [08/05/2004 (18:17:20)]: Adapter 1 Channel 1 Target 0: Physical Drive[MAXTOR ATLAS15K_36SCA DTA0]is Changed to REBUILD. [08/05/2004 (18:18:17)]: Adapter 1 Channel 1 Target 0: Physical Drive[MAXTOR ATLAS15K_36SCA DTA0]: REBUILD PROGRESS 1% [08/05/2004 (19:35:11)]: Adapter 1 Channel 1 Target 0: Physical Drive[MAXTOR ATLAS15K_36SCA DTA0] is Changed to ONLINE. Das Skript soll immer nach dem (beliebigen) Datumsfeld suchen und von dem ausgehend die nächsten 2 Zeilen, die auch noch dazu gehören, zusammenhängend als String in eine Zeile schreiben. Aber das alles soll es nur machen, wenn die Meldung "is Changed to" kommt Die Ausgabe in die Datei soll so aussehen: [08/05/2004 (18:13:32)]: ; Adapter 1 Channel 1 Target 0: ; Physical Drive[MAXTOR ATLAS15K_36SCA DTA0] is Changed to FAILED. ; [08/05/2004 (18:17:20)]: ; Adapter 1 Channel 1 Target 0: ; Physical Drive[MAXTOR ATLAS15K_36SCA DTA0]is Changed to REBUILD. ; [08/05/2004 (19:35:11)]: ; Adapter 1 Channel 1 Target 0: ; Physical Drive[MAXTOR ATLAS15K_36SCA DTA0] is Changed to ONLINE. ; Wie man sieht wurde die Zeile übergangen, in der kein "is Changed to" steht. Und die einzelnen Sachen sind noch durch einen ";" getrennt. Ich hab schon so viel versucht, aber ich bekomm das mit den zu definierenden Filtern und Regeln einfach nicht hin. Bitte um Hilfe und vielen Dank im Voraus! Gruss, Markus |