Manchmal möchte man das Squid Access Logfiles auswerten um zu sehen, welche Ressourcen wie abgehandelt werden. Squid speichet dabei die Zeitangabe leider nicht in einem Human-readable Format.
Mit folgendem Befehllässt sich der Zeitstempel (<unix timestamp>.<centisecond>) in einem Postprozess umsetzen in ein für uns lesbares Format:
cat access.log | perl -p -e 's/^([0-9]*)/"[".localtime($1)."]"/e'
Leider funktioniert hier eine weitere Filterung mit | grep „DENIED“ beispielsweise nicht.
Um eine Ausgabe mittels grep zu filtern und den Zeitstempel anzupassen funktioniert die Konvertierung der Zeit auch mit gawk.
tail -f access.log | gawk '/^/{$1 = strftime("%c", substr($1, 1 ,10))};1' | grep "DENIED"