下午好。由于许多脚本在不同时间运行,我有全天填充的日志文件。这不是一个巨大的文件,但一个问题是日志条目没有输入时间的时间戳。
在这种情况下,我通常通过 PuTTY 会话登录到服务器并在该日志文件上运行 tail -f 以便我可以看到这些脚本正在开始。我想要做的是更改我的 tail -f 以包含显示在屏幕上的每个项目的时间戳。我使用了以下内容:
tail -f scheduler_ date '+%m%d%y'
.log | sed s/^/$(日期+%H:%M%_*)/
这里的问题是它使用了tail命令的时间戳,而不是每行进入日志文件的时间。
我已经审查了其他一些案例以包括以下案例,但我发现没有一个案例提供了我正在寻找的内容。任何帮助,将不胜感激。
tail -f "scheduler_$(date '+%m%d%y').log" | perl -pe 's/^/$_=qx(date +%T_); chomp; $_/e'
qx
调用外部date +%T_
命令。它的输出存储在变量中$_
。chomp
从 中删除尾随换行符$_
。然后$_
返回成为替代。
我假设%
您命令中的最后一个是拼写错误,应替换为秒,所以我写了%T
,它是%H:%M:%S
.
如果性能很重要,您可以不用每行的新日期过程,如下所示:
tail ... | perl -pe 'BEGIN { use POSIX "strftime" } s/^/strftime "%T_", localtime/e'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句