この手法をパイプと呼び、縦棒(|)を使用します。
$ ls -l | lprとすると、 ls コマンドの出力をパイプによって lpr コマンドの入力として渡すので、 ls の結果がプリンタに出力されます。
これは、次の様にコマンドを続けて実行したのと同じようになります。
$ ls -l > test.out $ lpr test.outパイプはメモリ上でデータの受け渡しをしますので、 ディスクI/Oがない分実行が速くなります。
コマンド wc のように標準入力からデータを読み込み、 実行結果を標準出力に出力するようなプログラムをフィルターと呼びます。
$ ls -ld . | wc 1 9 46補足事項
$ ls -ld . /xxx | wc ls: /xxx: No such file or directory # エラー出力はパイプライン外に流れる 1 9 46 $ ls -ld . /xxx 2>&1 | wc 2 16 82