Manchmal werden die Apache access.logs von meinem Provider nicht immer in der richtigen Reihenfolge geliefert. Nach dem Zusammenkopieren stellte ich fest, dass das Datum nicht immer in der richtigen Reihenfolge war. Dies ist aber Vorraussetzung, um die Logfiles mit Awstats weiter zu bearbeiten. Wie aber nun sortieren? GNU-sort hat da ein paar interessante Features, mit dem verschiedene Keys ausgewählt werden können. Der Sort-Befehl, um ein Apache access.log nach Datum und Uhrzeit zu sortieren sieht dann so aus:
sort -s -b -t' ' -k 4.9,4.12n -k 4.5,4.7M -k 4.2,4.3n -k 4.14,4.15n -k 4.17,4.18n -k 4.20,4.21n
Als Feldtrenner wird mit -t' '
ein Leerzeichen festgelegt. Mit -k 4...
wird das vierte Feld in der Zeile angesprochen und mit der nachfolgenden Auswahl der Stellen im Feld 4 nach Jahr, Monat, Tag, Stunde, Minute und Sekunde sortiert.