一つのプログラムからの出力を,そのまま他のプログラムの入力として使いたい場合があります.この場合,最初のプログラムの出力を(リダイレクションで)ファイルに書き込み,別のプログラムからそのファイルを読むといったことは必要ありません.これはUNIXに備わっているパイピングという機能で実現できるからです.
パイピングの例は次のようになります:
% Someprogram | GMTprogram1 | GMTprogram2 >! Output-file % Someprogram | GMTprogram1 | GMTprogram2 | lp
見てのとおり,「|」という記号でいくつかのプログラムを「つないで」います.最初の例でいうと,Someprogramの実行結果はちょうど「|」が実際のパイプであるかのようにGMTprogram1に「流し込まれ」,GMTprogram1はこのパイプを通ってきたデータを入力として受け取ります.そして,GMTprogram1の出力は別のパイプを通ってGMTprogram2の入力となります.最後に,GMTprogram2の出力はOutput-fileというファイルに書き込まれます.
2番目の例は,GMTprogram2の出力はlpという命令に引き渡されます.