Thread Perl log-file nach timestamps sortieren
(2 answers)
Opened by Gast at 2008-09-12 00:05
Hallo,
ich stehe vor einem für mich schwieriges Problem. Und zwar habe ich hier ein log-file, eine Zeile ist jeweils ein zusammengehöriger Eintrag. In jeder Zeile ist ein timestamp enthalten. Teilweise sind diese timestamps doppelt aufgrund der geringen Auflösung. Erschwerend kommt hinzu, dass die einzelnen Zeilen ungeordnet in das log-file purzeln. Nun möchte ich gerne das komplette file zeilenweise sortieren, und zwar nach timestamps. Bei Zeilen, die den gleichen timestamp enthalten ist es egal in welcher Reihenfolge sie kommen. Vereinfacht sieht das log-file so aus: Code: (dl
)
1 0001 Ein Eintrag Mein erster Ansatz war nun wie folgt. Die komplette Datei zeilenweise in ein array einlesen. Nebenher in ein weiteres array den timestamp herauspfriemeln. Damit habe ich dann bereits den timestamp isoliert an Index X des timestamp-arrays, und die zugehörige Zeile des Zeilen-arrays ebenfalls an Index X. Dann habe ich das ganze in einen Hash gepackt, also Schlüssel wäre der timestamp und Wert dann die komplette zugehörige Zeile. Der Masterplan sah dann so aus, dass ich die Schlüssel sortieren wollte (kein Problem), und dann über die sortierten Schlüssel in einem foreach-loop das Hash komplett durchgehen und in eine Datei speichern. Leider geht das natürlich nicht, da ich ja doppelte Schlüssel habe (wegen der zu geringen Auflösung der timestamps). Bis ich das mal gemerkt habe hat es ja schon lange genug gedauert, aber jetzt hab ich irgendwie überhaupt keine Idee wie das zu lösen sein könnte. Hat da vielleicht jemand eine zündende Idee? Dankeschön... |