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
Galaxy S III(SC-06D)のroot再取得@4.1.2(MF1)

ほとんどアップデートしていない root 化されたスマホ SC-06D (4.0 …

no image
オフラインファイルで特定のファイルの同期ができない

Windowsにはオフラインファイルという機能があります。この機能を用いることで …

no image
DVD-Rに4倍速で書き込みできない@GSA-4040B

数年前に発売されたDVDマルチドライブ GSA-4040Bを持っているのですが、 …

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

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

no image
Oprofile @ RHEL5.5 on KVM

システムのプロファイルに役に立つOpfofileですが、KVM上でOprofil …

no image
XREA最悪

レンタルサーバとしてxreaを使ってましたが、日に日に動作が遅くなり、とうとう動 …

no image
vim-rubyのインストール@cygwin

昨日はDebian上でのvim-rubyインストールについて書いたが、今回はcy …

no image
chromeに独自のproxyを設定

Windows版のchromeのproxyの設定を開くと、システム(IE)のpr …

no image
USBハードディスクにWindows 7インストール

今あるPCのシステムを消したくなかったので、USBハードディスクにWindows …

no image
リモートデスクトップでウィンドウ表示と全画面表示を切り替える@Windows 7

最近はクラウドやらなんやらで、Windows 付属のリモートデスクトップ機能を使 …