パイプを使いコマンドの出力を別のコマンドの入力へ渡す

コマンドプロンプトではパイプという機能を使ってコマンドを実行した結果として出力された値を、別のコマンドの入力として受け取ることができます。ここではパイプを使いコマンドの出力結果を別のコマンドの入力へ渡す方法について解説します。

(Last modified: )

パイプの使い方

コマンドを実行した結果をさらに別のコマンドを使って処理したい場合があります。このような時に使用されるのがパイプです。書式は次の通りです。

コマンド1 | コマンド2

パイプは左側のコマンドが標準出力へ出力した内容を、右側のコマンドの標準入力へ渡します。右側のコマンドはその値を処理して標準出力へ実行した結果を出力します。

またパイプはつなげていくことが可能です。

コマンド1 | コマンド2 | コマンド3 | コマンド4

この場合、コマンド1の実行結果をコマンド2に渡し、そのコマンド2の実行結果をコマンド3へ渡し、最後にコマンド3の実行結果をコマンド4へ渡します。そしてコマンド4の実行結果が標準出力へ出力されます。

例えば TYPE コマンドの実行結果をパイプを使って MORE コマンドへ渡すことで、ファイルの内容を 1 画面ごとに停止して表示させるには次のように記述します。

type filename | more

-- --

では実際に試してみます。次のようなテキストファイル data.txt を用意しました。

パイプの使い方(1)

TYPE コマンドを使ってファイルに内容を出力すると次のように表示されます。ファイルの記述された行数が多いため、 1 画面では収まらずにスクロールして表示されました。

パイプの使い方(2)

それではパイプを使い TYPE コマンドの出力を別のコマンドである MORE コマンドの入力へ渡してみます。 MORE コマンドは 1 画面毎にいったん表示を止めるコマンドです。

type data.txt | more

パイプの使い方(3)

実行するとコマンドプロンプトの1画面内におさまるだけファイルの内容が出力されていったん止まります。

パイプの使い方(4)

[Space] キーを入力すると、次の 1 画面分が表示されます。

パイプの使い方(5)

このようにパイプを利用することで、コマンドを実行した結果を別のコマンドの入力へと渡していくことができます。

-- --

コマンドプロンプトのパイプ機能を使ってパイプを使いコマンドの出力を別のコマンドの入力へ渡す方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。