tail -f, マルチ sed [重複]

tail -f, マルチ sed [重複]

私はできます。

tail -vf -c5 thefile    \
    | cat -n            \   
    | sed -E 's/a/b/g'  \
    ;

ただし、次の出力はありません。

tail -vf -c5 thefile    \
    | cat -n            \   
    | sed -E 's/a/b/g'  \
    | sed -E 's/f/F/g'  \
    ;

なぜ?

答え1

sed出力をバッファリングします。バッファをより積極的にフラッシュするには、この-uオプション(存在する場合はGNU sed)を使用します。

stdbufバッファリング動作を変更するツールを使用することもできます。

tail -vf -c5  thefile | cat -n | stdbuf -oL sed -E 's/a/b/g' | sed -E 's/f/F/g'

関連情報