標準入力と標準出力を同時にリダイレクトする

標準入力および標準出力についてそれぞれリダイレクトを使って入力元や出力先を変更することができますが、標準入力と標準出力を同時にリダイレクトすることもできます。ここではコマンドプロンプトの環境で標準入力と標準出力を同時にリダイレクトする方法について解説します。

(Last modified: )

ファイルから入力し実行結果をファイルへ出力する

標準入力への入力元をファイルに変更するには次のように記述しました。

コマンド < ファイル名

また標準出力からの出力をファイルに変更するには次のように記述しました。

コマンド > ファイル名

この二つを組み合わせ、ファイルからコマンドへ入力し、コマンドの実行結果を別のファイルへ出力する場合は次のように記述します。

コマンド < 入力ファイル名 > 出力ファイル名

例えば SORT コマンドに対して data.txt のファイルの内容を入力として読み込み、コマンドの実行結果を result.txt へ出力する場合には次のように入力します。

sort < data.txt > result.txt

このように標準入力と標準出力に対するリダイレクトを同時に設定することができます。

-- --

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

ファイルから入力し実行結果をファイルへ出力する(1)

リダイレクトを使って SORT コマンドへの入力をファイルに変更します。またリダイレクトを使って SORT コマンドの実行結果の出力先をファイルに変更します。

sort < data.txt > result.txt

ファイルから入力し実行結果をファイルへ出力する(2)

コマンドを実行すると data.txt ファイルから読み込まれたテキストが SORT コマンドによって並べ替えが行われ、結果が別のファイル result.txt へ出力されました。

では出力先の result.txt ファイルをテキストエディタで開いてみます。

ファイルから入力し実行結果をファイルへ出力する(3)

並び替えを行った結果がファイルに出力されていることが確認できました。

-- --

コマンドプロンプトで標準入力と標準出力を同時にリダイレクトする方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。