fixedpoint.jp - Pipe Viewer の紹介




Pipe Viewer の紹介

今回紹介するのは Pipe Viewer / pv(1) というターミナル向けのツールです。

Unix 由来の OS に備わっているシェルには複数のコマンドを組み合わせる汎用的な仕組みとしてパイプラインがあります。パイプラインは単純ながら使い方によって非常に強力な道具になります。このことは "UNIXという考え方""ユニケージ原論" といった書籍でも説明されています。

pv(1) はこのパイプラインで入出力されたデータのサイズをターミナル上で可視化します。2つ以上のパイプが登場する場合でもそれぞれ別々に表示してくれます。使用例が以下にあります:

注目したのは移植性の高いこのプログラムのソースコードです。4,000 行弱の C ソースコードと Make スクリプト、および /bin/sh スクリプトからなります。プロセス、ファイルシステム、仮想端末、シグナル、コマンドラインオプション、メッセージの国際化などを扱う典型的な Unix プログラミングの例になっています。


© 2006-2011 Takeshi Abe