Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

In UNIX-Script aus einer Log-Datei den Bereich ausgeben, der mit einem bestimmten Wert beginnt.

Frage Entwicklung Batch & Shell

Mitglied: ozabel

ozabel (Level 1) - Jetzt verbinden

23.06.2009, aktualisiert 00:59 Uhr, 5309 Aufrufe, 2 Kommentare

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
Mitglied: LotPings
23.06.2009 um 10:29 Uhr
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
sed -n -e '/SQL[0-9]\{4\}N/,$p' test.log

Deine Erweiterungen kannst du mit Hilfe von
man sed
info sed

oder diesem Tutorium selber austüfteln.

Gruß
LotPings
Bitte warten ..
Mitglied: ozabel
23.06.2009 um 17:34 Uhr
Danke für die schnelle Antwort.

Habe die Idee aufgegriffen und dann im Tutorium nach weiteren Informationen gesucht.

Für die Allgemeinheit - meine Lösung ist jetzt :

sed -n -e '/SQL3110N/,/^$/d'
-e '/SQL[0-9]\{4\}N/,/^$/p' test.log


Damit schliesse ich die erste Meldung aus (da kein Fehler) und gebe alle anderen Meldungen nach dem Muster SQLnnnnN (bis zur nächsten Leerzeile) aus.

Gruß
Oliver
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmten Bereich einer Textdatei ausgeben mittels Batch (10)

Frage von Django.Durano zum Thema Batch & Shell ...

Linux Tools
gelöst Dateien in Unix finden, die mehrere Strings beinhalten (7)

Frage von renegade51 zum Thema Linux Tools ...

Visual Studio
gelöst CSharp Bereiche von Listen von Zahlen ausgeben (1)

Frage von Aicher1998 zum Thema Visual Studio ...

Batch & Shell
gelöst Wie speichere ich von einer "Grundbatchdatei" einen bestimmten Wert? (5)

Frage von IchBins01000010 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Infineon TPMs unsicher!

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Firewall

PfSense Repository für Version 2.3.x

(2)

Information von Dobby zum Thema Firewall ...

LAN, WAN, Wireless

WPA-2 hat erste Risse: KRACK

(5)

Information von the-buccaneer zum Thema LAN, WAN, Wireless ...

Hardware

GPD Pocket: Winziger Laptop für Wenig Tipper

(1)

Information von pelzfrucht zum Thema Hardware ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (20)

Frage von sunics zum Thema Hosting & Housing ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...