Arbeiten mit Textdateien und Zeitstempeln

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    Arbeiten mit Textdateien und Zeitstempeln

    Hallo,
    ich habe mich schon öfters hier im Forum als Gast herumgetrieben und für diverse Probleme Lösungen und Ansätze gefunden. Dank dafür an dieser Stelle!
    Leider komme ich dieses Mal nicht so ganz zurecht und hoffe auf etwas Hilfestellung..
    Ich habe einen Wust Logfiles zu bearbeiten die in einer Verzeichnisstruktur liegen. Die Zeilen in den Logfiles beginnen mit einem Zeitstempel ala 04.07.2017 10:36:59
    Ich möchte nun aus allen Logfiles von einem bestimmten Zeitpunkt X Minuten davor die entsprechenden Zeilen aus den Logfiles zusammenkopieren/einsortieren.
    Was wäre ein eleganter Umgang mit dem Zeitstempel? Gibts da was von VB oder muss man die Ochsentour machen und alles zerpflücken?
    Viele Grüße
    Haegar88

    Nachtrag..:
    Wäre es eine unsinnige Idee die Files in eine XML-Datenbank zu schreiben und Abfragen darauf zu machen?
    Willkommen im aktiven Teil des Forums.
    BruteForce: Öffne alle Dateien nacheinander, gehe mit IO.ReadAllLines alle Zeilen jeder Datei durch und parse den Zeitstempel in eine DateTime. Mach einen Zeitvergleich und sammle alle relevanten Zeilen in einer List(Of String). Wenn der Inhalt der Dateien chronologisch ist, kannst Du an entsprechenden Zeitpun kten das weitere Durchforsten jener Datei abbrechen und zur nächsten Datei übergehen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @Haegar88 Ebenfalls Willkommen im Forum. :thumbup:
    Etwas eleganter als @VaporiZed :
    Geh die Zeilen einzeln durch und konvertiere die ersten n Zeichen in eine DateTime-Instanz (via DateTime.ParseExact()) docs.microsoft.com/de-de/dotne…t?view=netframework-4.7.2
    Mit diesen Objekten kannst Du rechnen und sie vergleichen wie mit Zahlen, und wenn Du als anderen Operator eine TimeSpan-Instanz verwendest, kannst Du Zeitbereiche wohl definieren und behandeln.
    docs.microsoft.com/de-de/dotne…e?view=netframework-4.7.2
    docs.microsoft.com/de-de/dotne…n?view=netframework-4.7.2
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Haegar88 schrieb:

    Wäre es eine unsinnige Idee die Files in eine XML-Datenbank zu schreiben und Abfragen darauf zu machen?
    Auch ein Willkommen im Forum!
    Mit einer .XML-Datei, die keine DB ist, kann man z.B. nur Daten von einem Dataset halten.
    Aber du kannst die Daten in einem typisierten Dataset sehr schön berechnen und mit Abfragen behandeln...