您可以使用和附加静态时间戳:sed
date
... | sed "s/^/$(date) /" >> output.txt
Run Code Online (Sandbox Code Playgroud)
或者,如果您需要实时时间戳,请使用gawk
's strftime函数:
... | gawk '{ print strftime(), $0 }'
Run Code Online (Sandbox Code Playgroud)
您可以定义自己喜欢的格式:
... | gawk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0 }'
Run Code Online (Sandbox Code Playgroud)
如果缓冲是一个问题,请不要忘记刷新每一行:
... | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; fflush() }'
Run Code Online (Sandbox Code Playgroud)
或者,使用unbuffer
:
unbuffer ... | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0 }'
Run Code Online (Sandbox Code Playgroud)
如果您没有gawk
,您还有其他几种选择:
(a)安装ts
(来自moreutils):
... | ts '%F %T'
Run Code Online (Sandbox Code Playgroud)
(b)使用perl
:
... | perl -pe 's/^/localtime . " "/e'
Run Code Online (Sandbox Code Playgroud)
或格式化:
... | perl -MPOSIX -pe 's/^/strftime("%Y-%m-%d %H:%M:%S", localtime) . " "/e'
Run Code Online (Sandbox Code Playgroud)
不要忘记,如果您需要格式化为您的语言环境的GMT gmtime
,localtime
则可以使用.
(c)提出问题.