我有一个我在stdin上接收的数据流,我想在时间戳上添加时间戳。理想情况下,我想用当前的纪元秒替换新线的每一行
... | sed "s/$/$(date +' %s')"/
无法正常工作,因为它只会根据命令评估日期命令。
我该怎么办?
答案 0 :(得分:2)
取决于您的操作系统,您可以
使用ts
命令:
这会将时间戳放在行的开头
... | ts '%s'
使用GNU awk
... | gawk '{print $0, systime()}'
或perl
... | perl -lpe '$_ .= " ".time'
答案 1 :(得分:0)
我无法将此标记为重复或评论,但请查看之前提出的相同问题:Is there a Unix utility to prepend timestamps to stdin?
从那里,您可以使用ts
(必须通过apt-get install moreutils
安装)或awk
。