【发布时间】:2019-01-15 15:36:15
【问题描述】:
我正在运行一个在启动时更新同一行的应用程序:
1 of 1,000,000
200 of 1,000,000
300 of 1,000,000
但以上内容仅在一行中。
每次更新光标时,我都想将其写入日志文件,以便观察更新之间的持续时间。
此命令似乎适用于在同一行上数字开始递增之前输出到控制台的行,但不记录数字更新。
command |& tee >(ts "%d-%m-%y %H_%M_%S" > play.log)
有什么技巧可以记录更新时的状态屏幕以及时间戳吗?
【问题讨论】:
-
程序是写到
/dev/tty,还是写到stdout/stderr,然后用回车把光标移回来? -
问问题有点不同:当您将 stdout 和 stderr 都通过管道传输到
tee时,它甚至不会更新 到屏幕 (这意味着它正在检查isatty()并根据结果决定是否记录临时更新),还是更新到屏幕但不附加到日志(这意味着它直接写入/dev/tty从而绕过您的重定向)?