对日志文件进行“tail -f”操作时,使用哪个命令将时间戳更改为可读日期?

对日志文件进行“tail -f”操作时,使用哪个命令将时间戳更改为可读日期?

我有一个程序,其日志记录如下:

1324218770.7644信息等

最好的 Linux shell 程序是什么,可以通过管道将时间戳更改为人类可读的格式,例如2011 年 12 月 18 日星期日 15:32:50中欧时间?

我可以通过这样的管道

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

仅适用于时间戳,但我该如何维护其余的行?

答案1

只需覆盖$1,然后打印所有行

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

答案2

我假设您希望内联更改日期,并打印该行的其余部分。尝试用 的输出替换字段 1 strftime()

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

相关内容