我有一个程序,其日志记录如下:
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