標準出力と標準エラー出力をパイプに渡す

サラトガIT日記 > Linux(UNIX) > 標準出力と標準エラー出力をパイプに渡す 標準出力と標準エラー出力をパイプに渡す

※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい

2008-07-24

 

よく、標準出力先をファイルにリダイレクトすることはありますが、意外に標準エラー出力は使う機会がありません。しかし、やはりツールやパッケージ製品になると標準エラー出力も活用されているようです。でも、明らかにエラーじゃない内容が、標準エラー出力されるってどうかと思いますが・・・。

リダイレクト先が画面かファイルという狭い選択肢だとログ出力も設計に悩むところですね。そこで、標準エラー出力の内容をファイルではなく、パイプで他のコマンドに渡してみます。ファイルへの出力と同じ要領でできます。ファイルへのリダイレクトについては過去に下記の記事を書いたのでこちらを参考にしてもらえればと思います。

リダイレクトとファイルディスクリプタ(1)リダイレクトとファイルディスクリプタ(2)

ちなみに、下記の例は bash を前提としています。

# 標準出力と標準エラー出力の両方をパイプで渡す
$ saratoga.sh 2>&1 | sort | uniq

# 標準エラー出力のみをパイプで渡す
$ saratoga.sh 2>&1 > /dev/null | sort | uniq

関連記事

上記の記事に関連する記事(最新の10件)です。