如何定期保存程序输出的最后一行?

时间:2013-02-21 16:23:04

标签: shell unix redirect command-line

我运行一个每秒生成一行输出的程序。每次生成新行时,我都需要将它(并且只有它)保存到特定的文本文件中。生成新行时,必须使用新行覆盖该文件。

我认为它必须是非常简单的解决方案,但我无法用我对shell命令的不了解来解决这个问题。

谢谢!

2 个答案:

答案 0 :(得分:4)

这样的事情是一种可能的解决方案

./your_program | (while true; do read tmp && echo "$tmp" > $file; done)

其中$file是您的文件。

答案 1 :(得分:2)

... | awk '{ print > "output"; close( "output" )}'

将使用每个新输出行截断输出文件。