Was ist der beste Befehl, um einen Zeitstempel in ein lesbares Datum zu ändern, wenn eine Protokolldatei mit einem "Tail" versehen wird?


2

Ich habe ein Programm, das sich wie folgt anmeldet:

1324218770.7644 INFO usw

Welches ist das beste Linux-Shell-Programm, um die Zeitstempel in ein für Menschen lesbares Format wie Sun 18 Dec 2011 15:32:50 CET umzuwandeln ?

Ich kann so durchpfeifen

| cut -f 1 -d\   | awk '{print strftime("%c",$1)}'

Nur für die Zeitstempel, aber wie pflege ich den Rest der Zeile?

Antworten:


2

einfach überschreiben $1, dann alle Zeilen drucken

$ echo '1324218770.7644 INFO etc' | awk '{$1=strftime("%c", $1); print}'

2

Ich gehe davon aus, dass Sie möchten, dass das Datum inline geändert und der Rest der Zeile ebenfalls gedruckt wird. Versuchen Sie, Feld 1 durch die Ausgabe von zu ersetzen strftime().

$ echo "1234218770.7644 INFO etc' | awk '{$1=strftime("%c", $1); print}'
Mon 09 Feb 2009 05:32:50 PM EST INFO etc

% s gibt mir den Zeitstempel - Vielleicht ist es eine Awk-Version.
Keith

Nee. Soll %cbeim Kopieren vom Terminal eingegeben werden. Danke für den Fang.
Arcege

Wie haben Sie die Ausgabe erhalten? Ihre Zitate sind in der echoAussage irgendwie durcheinander .
Jaypal Singh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.