gpt4 book ai didi

Bash:将命令输出和时间戳附加到文件

转载 作者:行者123 更新时间:2023-11-29 09:44:55 30 4
gpt4 key购买 nike

通常在我的 bash 脚本中,我习惯于执行 some_command >> log.log。这工作正常,但是我如何附加更多数据,如时间和命令名称?

我的目标是拥有这样的日志

2012-01-01 00:00:01 [some_command] => some command output...
2012-01-01 00:01:01 [other_command] => other command output...

进程应该同时运行和写入文件。

William Pursell 在我的案例中指出的最终解决方案是:

some_command 2>&1 | perl -ne '$|=1;打印本地时间。 ": [somme_command] $_"' >>/log.log &

我还添加了 2>&1 以将 STDOUTSTDERR 重定向到文件,并添加了 &最后将程序保持在后台。

谢谢!

最佳答案

鉴于您的评论,您似乎希望多个进程同时写入文件,并且在每一行上都有一个时间戳。像这样的东西可能就足够了:

some_cmd | perl -ne '$|=1; print localtime . ": [some_cmd] $_"' >> logfile

如果你想修改日期的格式,使用 POSIX::strftime

some_cmd | perl -MPOSIX -ne 'BEGIN{ $|=1 }
print strftime( "%Y-%m-%d %H:%M:%S", localtime ) . " [some_cmd] $_"' >> logfile

关于Bash:将命令输出和时间戳附加到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10838963/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com