我需要显示的是定期刷新日志。这是一个大约10行文本的块。我正在使用|tee
,现在可以使用了。但是,性能不太令人满意。它会等待一段时间,然后从多次刷新中输出几个文本块(特别是当程序刚启动时,在控制台上开始显示任何内容需要一段时间,第一次看到这个时,我认为程序正在挂起)。另外,它在最后一个块的中间随机断开,因此呈现起来非常难看。
有没有办法改善这个? (每次输出可能更少,并且更频繁地在输出文件和控制台之间切换?)
答案 0 :(得分:0)
假设您可以直接将作为文件监视更新:事实并非如此:
监视新行的[log]文件的常用方法是使用tail -f
,从我所知道的内容 - 打印添加到日志文件中的新数据,因为它正在添加< / em>,没有缓冲。
类似地,tee
传递通过stdin接收的数据而不进行缓冲。
因此,您应该能够将两者结合起来:
tail -f logFile | tee newLogEntriesFile
答案 1 :(得分:0)
打印每个块后通过刷新标准输出解决。感谢Kenneth L! https://superuser.com/questions/889019/bash-better-way-to-output-to-both-console-and-output-file-than-tee