2013-02-21 43 views
3

我運行一個程序,每秒產生一行輸出。每次生成一個新行時,我都需要將它保存(並且只保存它)到一個特定的文本文件中。當生成新行時,必須用新行覆蓋該文件。如何定期保存程序輸出的最後一行?

我認爲它必須是非常簡單的解決方案,但是我無法用我對shell命令的瞭解。

謝謝!

回答

4

像這樣的事情會是一個可能的解決方案

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

其中$file是您的文件。

+1

這永遠不會終止! '讀了tmp;做回聲「$ tmp」...「會更好。 – 2013-02-21 20:37:53

+0

你是對的!我沒有測試過。 – 2013-02-21 21:54:32

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

將用每一行新的輸出截斷輸出文件。

相關問題