標準エラー出力をファイルに出力する方法

コマンドなどの出力結果をリダイレクトで出力すると標準エラー出力はターミナルに出力されたりファイルには保存されません。
以下、標準エラー出力に出力されたメッセージをファイルに保存する方法を記します。


スポンサーリンク

関連資料

テストコード

以下に記す簡単なC言語のサンプルソースを作りました。

#include <stdio.h>

int main()
{
  fprintf(stdout, "stdut MESSAGE\n");
  fprintf(stderr, "stderr MESSAGE\n");
  return 0;
}

実験(実行例)

以下の実験で使用したシェルはbashになります。cshでは意図した動作になりませんのでご注意ください。

標準出力と標準エラー出力を別々のファイルに出力する

以下の例では、標準出力をstdout.txtファイルに出力し標準エラー出力をstderr.txtファイルに出力します。
1(省略可)が標準出力を示し、2が標準エラー出力を示しています。

./std 1> stdout.txt 2> stderr.txt

or

./std > stdout.txt 2> stderr.txt
stderr-03.png

標準エラーのみファイルに出力する

以下の例では標準エラー出力のみstderr.txtに出力し標準出力はターミナルに表示します。

./std 2> stderr.txt
stderr-04.png

標準出力と標準エラー出力をおなじファイルに出力する

以下の例では、標準出力、標準エラー出力を同じファイルに出力します。

./std > output.txt 2>&1
stderr-05.png

cshで標準出力、標準エラー出力を同じファイルに出力する方法

./std >& output.txt
stderr-06.png
 

添付ファイル: filestd.c 640件 [詳細] filestderr-01.png 736件 [詳細] filestderr-03.png 862件 [詳細] filestderr-05.png 832件 [詳細] filestderr-06.png 761件 [詳細] filestderr-02.png 785件 [詳細] filestderr-04.png 853件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-03-15 (土) 07:21:32