2012-07-25 5 views
5

nc出力のデータを24時間7時間ファイルに保存します。これは温度のデータロガーです。 このファイルamroutputは非常に時間が掛かります。 (10秒ごとに1行)。 1つのアプリケーションでは、最後のエントリがファイルamr_last_outputにあります。 だから私は使用:unixリダイレクトtail to file

>
tail -f -n1 amroutput > amr_lastoutput. 

タル出力を行うとき、私は、ファイルamr_lastoutput毎回上書きされます。 mac osxでは、>>コマンドのように、出力ファイルの末尾に出力が追加されています。 どうすればいいですか?

ありがとうございました!

+2

私はあなたがあなたのUnixシステムで期待していることをしていないと言っていますか? Mac OSX(ファイルに追加)と同じように動作するはずです。 –

+0

これには '-f'(follow)を使いたくないでしょう。 – Thor

+0

ファイルの末尾出力に上書きモード(>)を使用し、追加モード(>>)では使用しません。 'nc 192.168.xx 10001> amroutput&'と2番目の:tail -f -n1 amroutput> amr_lastoutput& ' – steff

答えて

0

私の前のコメントへのあなたの確認を待っています。しかし、その間に、私は肯定的であり、あなたに提案された解決策を与えるつもりです。

!これは、あなたのために働く私に知らせて、私たちは何かを試すことができていない場合は

tail -f -n1 amroutput >! amr_lastoutput 

:>や>>リダイレクトの最後に、既存のファイルを上書きしないようにデフォルトの「noclobberを」スイッチをオフにします。

+0

申し訳ありませんが、私はあなたのコメントを確認していません。 tailを-fなしで、 '>!'また動作しません。 > – steff

+1

>! tailの出力を '!'という名前のファイルに格納するオプション追加モードで – steff

0

テールのリダイレクト '>'を1回だけ出力ファイルに上書きします。 私はsleepでwhileループを使い、tailコマンドを定期的に実行します。

ありがとうございました!