2012-07-25 39 views
5

我每天24小時將來自nc輸出的數據存儲在一個文件中。這是一個溫度數據記錄器。 此文件amroutput將超過時間非常大。 (每10秒一行)。 對於一個應用程序,我將在文件amr_last_output的最後一項。 於是我就用:unix重定向尾部到文件

tail -f -n1 amroutput > amr_lastoutput. 

隨着>我將覆蓋該文件amr_lastoutput每次當TAL做出的輸出。 在mac osx上,我們是輸出文件尾部的輸出,如>>命令。 我能做什麼?

感謝您的回答!

+2

我不確定我是否理解,你是說'''在你的Unix系統上沒有達到你期望的效果?它應該像在Mac OSX上一樣工作(附加到文件)。 – 2012-07-25 11:34:09

+0

你可能不希望爲此使用'-f'(follow)。 – Thor 2012-07-25 11:39:53

+0

我將在文件上使用覆蓋模式(>)來輸出尾部,而不是追加模式(>>)。在後臺有兩個進程,第一個:'nc 192.168.xx 10001> amroutput&',第二個:tail -f -n1 amroutput> amr_lastoutput&' – steff 2012-07-25 11:54:11

回答

0

我在等待您對我之前評論的確認。但與此同時,我會採取肯定的態度,給你一個建議的解決方案。

放置一個!在年底的>或>>重定向將關閉默認的「noclobber選項」開關,以防止覆蓋現有文件:

tail -f -n1 amroutput >! amr_lastoutput 

如果這不適合你,讓我知道,我們可以嘗試其他的東西。

+0

對不起,我還沒有確認您的評論。尾巴沒有-f和'>!'也不起作用。 – steff 2012-07-26 07:12:36

+1

>>!選項將尾部輸出存儲在名爲'!'的文件中在追加模式下 – steff 2012-07-26 07:32:26

0

尾部的重定向'>'只有一次覆蓋到輸出文件。 我使用帶睡眠的while循環並定期運行tail命令。

謝謝大家!