输出到控制台和输出文件比T恤更好的方法?

时间:2015-03-13 01:12:40

标签: linux bash shell scripting

我需要显示的是定期刷新日志。这是一个大约10行文本的块。我正在使用|tee,现在可以使用了。但是,性能不太令人满意。它会等待一段时间,然后从多次刷新中输出几个文本块(特别是当程序刚启动时,在控制台上开始显示任何内容需要一段时间,第一次看到这个时,我认为程序正在挂起)。另外,它在最后一个块的中间随机断开,因此呈现起来非常难看。

有没有办法改善这个? (每次输出可能更少,并且更频繁地在输出文件和控制台之间切换?)

2 个答案:

答案 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