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

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

(Last modified: )

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

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

コマンド < ファイル名

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

コマンド > ファイル名

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

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

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

sort < myword.txt > result.txt

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

-- --

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

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

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

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

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

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

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

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

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

-- --

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

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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