私はいくつかのログファイルを監視するシェルスクリプトを構築しようとしています。 私は、このようなコマンドを使用しています:tail -f grep into cutが正しく動作しない
tail -f /var/somelog | grep --line-buffered " some test and p l a c e h o l d e r" | cut -f 3,4,14 -d " "
ログファイルは次のようである:
some test and p l a c e h o l d e r 3
some test and p l a c e h o l d e r 4
some test and p l a c e h o l d e r 5
some test and p l a c e h o l d e r 6
など.. 私の問題は、コマンドの出力が最後に表示されないということですラインまでのライン
some test and p l a c e h o l d e r 6
some test and p l a c e h o l d e r 7
がログに追加されます。
私は私の問題を明確にしたいと思います。誰も私がこれを解決するのを助けることができますか? ありがとうございました:)
ログ行は改行で終わらず、代わりに1行で開始していますか?この場合、7行目が開始され、その行送りが提供されるまで、6行目は完全ではありません。すべての文字を表示しているログファイルを見ると、最後の行の最後に改行が表示されますか? –
'od -c/var/somelog'を使って改行(" \ n ")を探します。 – cdarke
'tail -f'と同じ出力が見えますか?そうであれば@Davidはそれを正しく指摘しています。 – mtk