In UNIX-Script aus einer Log-Datei den Bereich ausgeben, der mit einem bestimmten Wert beginnt.
Hallo,
ich habe eine wahrscheinlich einfach zu lösende Aufgabe, zu deren Lösung ich Euch um Unterstützung bitte.
Schönen Dank im voraus
Oliver
Hallo,
ich habe folgendes Problem (zu lösen per UNIX-Skript):
Es gibt eine größere LOG-Datei, die eine Fehlermeldung enthält, die in eine neue Datei (besser: Variable) geschrieben werden soll.
Diese Fehlermeldung erkennt man an der Fehlernummer, die den Aufbau SQLnnnnN hat, z.B. SQL0911N. Sie kann sich auch über mehrere Zeilen erstrecken und geht bis zum Dateiende. Zu beachten: es können vorher auch andere Worte mit SQL vorkommen, die jedoch nicht o.a. Form entsprechen.
Hilfestellung gerne auch mit folgenden Erweiterungen:
- Datei enthält am Ende eine oder mehrere Leerzeilen, die nicht ausgegeben werden sollen
- Fehlermeldung geht nur bis zu einem bestimmten Wert (z.B. SQLxxxxE wie SQLxyzE)
- Fehlermeldung kann auch in der Mitte einer Zeile beginnen
- es kann mehrere Fehlermeldungen (gem. Schema "SQLnnnnN bis SQLxxxE") geben, die alle ausgegeben werden sollen
Danke
Oliver
ich habe eine wahrscheinlich einfach zu lösende Aufgabe, zu deren Lösung ich Euch um Unterstützung bitte.
Schönen Dank im voraus
Oliver
Hallo,
ich habe folgendes Problem (zu lösen per UNIX-Skript):
Es gibt eine größere LOG-Datei, die eine Fehlermeldung enthält, die in eine neue Datei (besser: Variable) geschrieben werden soll.
Diese Fehlermeldung erkennt man an der Fehlernummer, die den Aufbau SQLnnnnN hat, z.B. SQL0911N. Sie kann sich auch über mehrere Zeilen erstrecken und geht bis zum Dateiende. Zu beachten: es können vorher auch andere Worte mit SQL vorkommen, die jedoch nicht o.a. Form entsprechen.
Hilfestellung gerne auch mit folgenden Erweiterungen:
- Datei enthält am Ende eine oder mehrere Leerzeilen, die nicht ausgegeben werden sollen
- Fehlermeldung geht nur bis zu einem bestimmten Wert (z.B. SQLxxxxE wie SQLxyzE)
- Fehlermeldung kann auch in der Mitte einer Zeile beginnen
- es kann mehrere Fehlermeldungen (gem. Schema "SQLnnnnN bis SQLxxxE") geben, die alle ausgegeben werden sollen
Danke
Oliver
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 118803
Url: https://administrator.de/contentid/118803
Ausgedruckt am: 26.11.2024 um 01:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Oliver,
du solltest dich mal mit Regular Expresions beschäftigen. Die kannst du bei sed, awk, grep benutzen
Dies sollte deine Frage erfüllen
Deine Erweiterungen kannst du mit Hilfe von
oder diesem Tutorium selber austüfteln.
Gruß
LotPings
du solltest dich mal mit Regular Expresions beschäftigen. Die kannst du bei sed, awk, grep benutzen
Dies sollte deine Frage erfüllen
sed -n -e '/SQL[0-9]\{4\}N/,$p' test.log
Deine Erweiterungen kannst du mit Hilfe von
man sedinfo sed
oder diesem Tutorium selber austüfteln.
Gruß
LotPings