Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

tailの結果を2回grepすると表示されない@Linux

      2013/07/15

こんな感じで、grep するとマッチするはずのaaaaがなぜか何も表示されません。

$ cat hoge.txt
aaaa
bbbb
$ tail -f hoge.txt | grep aaa | grep aaa

実は2番目のgrepが悪さしているようで、性能低下を招かないように2番目のgrepがバッファリングし、ある程度溜まってから3番目のgrepに結果を渡しているようです。

バッファリングは、–line-buffered オプションを使うと無効にできます。

$ tail -f hoge.txt | grep --line-buffered aaa | grep aaa
aaaa

はい。表示されましたね。

 - IT技術, サーバ構築

336px

Comment

  1. MT より:

    あまり誰も書かれていない情報でして、困って探していたらたどり着きました。
    標準出力にはすぐに出力されるのに、同じコマンドをファイルへリダイレクトすると書き込まれず困っていました。
    ありがとうございました。

Message

メールアドレスが公開されることはありません。

  関連記事

no image
標準出力にタイムスタンプを付与する@Linux

シェルスクリプトの実行結果をファイルに保存する時など、タイムスタンプが欲しい時が …

no image
google analyticsのリアルタイム表示を使ってみた

google アナリティクスが、リアルタイム表示に対応したようです。 申し込めば …

no image
proxy.pacのデバッグ@Firefox

プロキシ環境では、プロキシ設定を自動化するためにproxy.pacなるものがよく …

no image
インストールしているFirefox3の拡張機能

Firefox3に追加している拡張機能一覧のメモです。 (Extension L …

no image
gitのbash-completionを使用してのプロンプト変更@Ubuntu 14.04

Git 最低限の設定@CentOS 5 でGitのbash_completion …

no image
viで特定文字列を改行に置換

viでは改行へ置換する場合 Ctrl+v Enterを使用して改行を指定します。 …

no image
Windows XPのディスクアクセスがうるさいので自動デフラグを無効にする

今更ですが、Windows XP を使っていると、ディスクがカリカリとうるさいな …

no image
vimでシンタックスハイライトの関連づけ拡張子を追加する@CentOS 5.3

vimで.shの拡張子を開くと、シェルの構文がハイライトされるし、.c を開けば …

no image
Google Music の文字化け対策まとめ

まだ日本ではサービス開始されていませんが、Google Music が便利そうな …

no image
SVNのシンボリックリンク?

SVNでソースを管理している時、ある他のリポジトリで管理されているライブラリを参 …