hellkite 日記と雑記とメモ。

Shiki Kazamaの駄文と音楽と、時々技術な感じ

リダイレクトは>、パイプは|


スポンサーリンク


CUI環境のコマンドの出力を自由に組み合わせたり指定したファイルに保存したり印刷したりするのに使うのが、このリダイレクトというのとパイプというもの。これらを組み合わせることでCUI環境はGUIにはまねできない非常に作業効率の高い環境となる。
Unixの機能で頻繁に使われるが、MS-DOSでも使える。
以下は、DOSでの話し。

パイプ

あるプログラムの出力を別のプログラムの入力に渡す。

dir | sort

こんな感じで、出力と入力を橋渡ししたいところに|を入れる。

リダイレクト

リダイレクトは標準出力や標準エラー出力を画面以外に出力させる。出力先はプリンタだったりファイルだったりするが、ファイルでよく使う。

dir > text.txt

ちなみに、ファイルに出力されるので、画面上には結果が出ない。
追加書き込みもできるらしい。

dir >> text.txt


標準エラー出力をファイルに保存するためには、2>という記号を使う。

command 2> error.txt

標準出力と標準エラー出力の両方とも同じファイルに保存したいときは、

command 2> output.txt 2>&1

これが覚えられないのでメモ。


これでRubyで作ったユーティリティプログラムとバッチファイルを組み合わせて色々できるようになった*1

*1:仕事ではWindows使っているので^^;