【パイプ】
パイプ とは?
最終更新:
💡 コマンドとコマンドをつなぐ「水道管」、データが流れて次々と加工される
コマンドやプロセスの間でデータを受け渡す仕組み。Bashなどでは「|」で左のコマンドの標準出力を右の標準入力へつなぐ。PowerShellのパイプラインはオブジェクトを渡す。
📌 このページのポイント
パイプって「|」のことなの?
何個もつなげられるの?
例えばgrep ERROR access.log | sort | uniq -cなら、ERRORを含む行を抽出し、並べ替え、同じ行が何回あるか数えられる。uniqは隣り合った同じ行を扱うので、先にsortするんだ。日時などが違う行は別の行として数えるよ
リダイレクトとの違いは?
名前付きパイプは何が違うの?
パイプの中ではデータはどうなっているの?
PowerShellの「|」も同じ?
結果を次へ渡す考え方は同じだけれど、PowerShellのコマンドレット間では文字列だけでなくオブジェクトを渡すよ。例えばファイル情報の名前やサイズを、プロパティとして次の処理で使える。Bashの標準入出力をつなぐ説明を、そのまま全てに当てはめないようにしよう
まとめ:ざっくりこれだけ覚えればOK!
「パイプ」って出てきたら「コマンドの結果を次のコマンドへ渡す仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「pipe」 = 管・パイプ
💬 pipeは管という意味。コマンド間を流れるデータを、水道管を通る水にたとえると理解しやすいよ