Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Textdatei zeilenweise vergleichen

Frage Entwicklung Batch & Shell

Mitglied: Uppe

Uppe (Level 1) - Jetzt verbinden

15.10.2009 um 10:55 Uhr, 4821 Aufrufe, 6 Kommentare

Hallo,

ich habe eine Datei mit tausenden Zeilen der Form:

[00:00:03.3530] [13] EVENT: STARTJOB JOB: JOBNAME

Ich habe mir eine Schleife gebastelt, die mir jede Zeile in zwei Teilen ausgibt (erster Teil [00:00:03.3530], zweiter Teil der Rest)

Nun möchte ich zeilenweise suchen, ob es den zweiten Teil ([13] EVENT: STARTJOB JOB: JOBNAME) nochmal in der Datei gibt.
Wenn ja, dann sollen die Zeiten ([00:00:03.3530]) verglichen werden. Ist die Zeitdifferenz kleiner als 1 Minute soll die Zeile unverändert stehen bleiben.
Differieren die Zeiten um mehr als eine Minute soll die Zeile gelöscht werden.

Könnt ihr mir helfen, dieses für mich riiiiiesige Problem zu lösen?

Danke und Gruß
Uppe
Mitglied: 60730
15.10.2009 um 11:00 Uhr
Servus,

so ganz verstehe ich dein Problem nicht...

ich habe eine Datei mit tausenden Zeilen der Form:
[00:00:03.3530] [13] EVENT: STARTJOB JOB: JOBNAME

Wenn ich pi * Daumen nachrechne - komme ich an einem Tag nicht auf tausende minuten (nur 1440)- und wenn ich das "log" richtig deute - fehlt da ein Datum - ist nur die Uhrzeit.

Von daher und weil du deine bisherige Schleife noch nicht gepostet hast...

  • denk ich nicht weiter drüber nach - Bis du uns weiter aufklärst

Gruß
Bitte warten ..
Mitglied: Uppe
15.10.2009 um 11:22 Uhr
Hallo Timo,

aber es gibt pro Minute 60 Sekunden (und auch noch Milli... und Zehntel...) und pro Sekunde können auch mehrere Jobs gestartet und beendet werden.
Es gibt kein Datum, weil pro Tag eine neue Datei geschrieben wird.

Bisher habe ich folgendes:

01.
findstr "STARTJOB CHANGE_STATUS" events.log > test.txt 
02.
FOR /f "tokens=1,*" %%i IN (test.txt) DO echo %%i,%%j 

Mit der ersten Zeile filtere ich alle für mich interessanten Events aus meiner Ausgangsdatei in eine test.txt
Danach habe ich eine Schleife, die jede Zeile in zwei Teile zerschneidet.

Aber wie ich diese Teile nun vergleiche, weiß ich leider nicht.

Wenn noch Informationen fehlen, bitte nachfragen.

Danke und Gruß
Uppe
Bitte warten ..
Mitglied: 60730
15.10.2009 um 12:21 Uhr
Servus Uppe,

ich gebs zu - ist mir zu kompliziert und ich seh den Hintergrund immer noch nicht...

Nachträglich an einem Logfile zu editieren - das den Start von Jobs protokolliert hat, die evtl. im milisekundenbereich gestartet werden?

Ist die Zeitdifferenz kleiner als 1 Minute soll die Zeile unverändert stehen bleiben.
Differieren die Zeiten um mehr als eine Minute soll die Zeile gelöscht werden.

In zusammenhang, damit - wäre wohl ein Delim : angebracht - aber wie geschrieben - ist mir grade zu kompliziert.

Gruß
Bitte warten ..
Mitglied: Uppe
15.10.2009 um 12:30 Uhr
Hallo Timo,

Hintergrund ist, einen Fehler zu finden.

Normalerweise werden die verschiedenen Jobs maximal alle 5 Minuten gestartet. Es gibt aber auch Jobs, die laufen nur einmal am Tag oder jede Stunde usw.

Wir haben aber das Phänomen, dass unter bestimmten Umständen (die wir versuchen herauszufinden) ein und derselbe Job zweimal angestartet wird, d.h. innerhalb einer Minute ein zweites Mal.

Und um diese Stellen zu finden, möchte ich in dem Logfile alle Jobs finden, die innerhalb einer Minute zwei Einträge haben.

Gruß Uppe
Bitte warten ..
Mitglied: 60730
15.10.2009 um 18:12 Uhr
Machs doch anders..

01.
findstr "STARTJOB CHANGE_STATUS" events.log > test.txt  
02.
findstr "STARTJOB JOB: JOBNAME1" test.txt > jobname1.txt
Denn Ihr wollt ja erstmal einen Job debuggen - so denk ich mir das - (Jobname steht nur als Pseudonym und nicht als realer Wert)

Gruß
Bitte warten ..
Mitglied: Uppe
15.10.2009 um 19:05 Uhr
Hallo Timo,

aber dann bekomme ich jeden Jobnamen. Ich möchte aber nur die, die auch wirklich zwei Einträge innerhalb einer Minute haben.

Gruß Uppe
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Java
gelöst Textdatei in Array speichern (zeilenweise) (1)

Frage von Bruchsal zum Thema Java ...

Windows Server
gelöst Powershell array zeilenweise in Textdatei ausgeben (6)

Frage von Peter0816 zum Thema Windows Server ...

Batch & Shell
Powershell - In Textdatei suchen und ersetzen (3)

Frage von Raaja89 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...