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

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

Linux(FreeBSD)標準出力と標準エラー出力をパイプに渡す

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

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

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

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

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

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

最終更新日:

関連記事

人気記事

新着情報