[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Epoch time konvertieren



Stefan Klein schrieb am 30. Jan um 12:20 Uhr:
> Am 30. Januar 2017 um 11:29 schrieb Chinatinte <chinatinte@gmx.ch>:

> > ich habe ein 115 M grosses Logfile, dessen einzelnen Zeilen so
> > strukturiert sind:
> >
> > 0|/2/System/Library/CoreServices/ManagedClient.app/Contents/PlugIns/phd.profileDomainPlugin|187735|d/drwxr-xr-x|0|0|0|1472862950|1379204098|1383254649|1379204098
> >
> >
> >
> > Die letzten vier Einträge sind jeweils ein Zeitstempel in Epoch-Time.
> >
> > Ich versuche, diese Zeitstempel in Human Readable Time umzuwandeln.
> >
> > date -d 1383256791 ist klar.
> >
> > Aber: Wie schaffe ich es, dies in einem Rutsch zu machen? Als
> > bash-Neuling bin ich hier um jeden Tip und Hinweis dankbar.
> 
> Alternativ zur shell kannst du auch awk verwenden z.B.:
> 
> $ awk -F'|' '{print strftime("%H:%M:%S",$8)}' < datei
> 
> Je nachdem was du sonnst noch mit der Logdatei machen möchtest ist
> vielleicht sogar eine mächtigere Sprache angebracht.

An awk hatte ich auch gedacht. Meine Variante:

#!/usr/bin/gawk -f
BEGIN 	{ FS = "|" }
BEGIN	{ OFS = "|" }
	{ for (n=8;n<=11;n++) $n=strftime("%c",$n) ; print $0 }

Gruß
Christian

-- 
Christian Knoke            * * *            http://cknoke.de
* * * * * * * * *  Ceterum censeo Microsoft esse dividendum.


Reply to: