2010年9月20日月曜日

標準出力と標準エラー出力。AWKプログラムの出力結果をファイルに書き出す方法 - AWK

AWKプログラムを動かす
AWKプログラムの実行結果は、ファイルに書き出して確認する事も出来ます。
以下、Windows XPのコマンドプロンプト画面を使って試してみました。

o 書き方は、UNIXでもほぼ同じです。「2>&1」の所は違うかもしれません。


**** 原理
o コマンドプロンプト画面は、次の2つの出力を、1つの画面に表示しています。
   + 1番 = 標準出力 = 実行結果を表示する時に使います。普段使用しているのは、こちらです。
   + 2番 = 標準エラー出力 = エラーメッセージやデバッグ情報など、実行結果以外の情報を表示したい時に使います。
   ファイルに書き出す時は、ファイルに書き出したい番号と、書き出し先のファイルを指定します。
   番号を省略した時は、1番になります。
o 書き出し方法は2通りあります。
   + 上書き = ファイルがあれば、上書きします。ファイルが無ければ、作ります。
   + 追加 = ファイルがあれば、ファイルの最後に追加します。ファイルが無ければ、作ります。


**** 手順(Windowsの場合)
次の方法があります。
o 標準出力のみをファイルに書き出す
o 標準エラー出力のみをファイルに書き出す
o 標準出力と標準エラー出力の両方を書き出す
   + 標準出力と標準エラー出力の両方を、1つのファイルに書き出す
   + 標準出力と標準エラー出力を、別々のファイルに書き出す

** 標準出力のみをファイルに書き出す例
o 手操作の時に便利です。エラーメッセージは画面に表示されます。
--------
gawk -f a.awk in.txt > out.txt
gawk -f a.awk in.txt >> out.txt
--------

o 上の例は、ファイルがあれば上書き(= ファイルの内容を削除してから書き出します)。
o 下の例は、ファイルがあれば、後ろに追加。
o 「1> ファイル名」と書く事も出来ます。

** 標準エラー出力のみをファイルに書き出す例
--------
gawk -f a.awk in.txt 2> out.txt
gawk -f a.awk in.txt 2>> out.txt
--------

o 上の例は、ファイルがあれば上書き(= ファイルの内容を削除してから書き出します。)。
o 下の例は、ファイルがあれば、後ろに追加。

** 標準出力と標準エラー出力の両方を書き出す例
o エラーメッセージも全部記録したい時に使います。
o 標準出力と標準エラー出力の両方を 1つのファイルに書き出す例
--------
gawk -f a.awk in.txt > out.txt 2>&1
gawk -f a.awk in.txt >> out.txt 2>&1
--------

o 上の例は、ファイルがあれば上書き(= ファイルの内容を削除してから書き出します)。
o 下の例は、ファイルがあれば、後ろに追加。
o 「2>&1」を後ろに並べるのがポイントです。

o 標準出力と標準エラー出力を別々のファイルに書き出す例
--------
gawk -f a.awk in.txt > out.txt 2> error.txt
gawk -f a.awk in.txt >> out.txt 2> error.txt
gawk -f a.awk in.txt > out.txt 2>> error.txt
gawk -f a.awk in.txt >> out.txt 2>> error.txt
--------

o 4通りあります。


==
関連ページ:
    ▼AWKプログラムを動かす
    ▼AWK
    ▼制作メモ
    > 沢山の入力ファイルを簡単に処理する
    AWKのバージョンを確認する
    Gawkで、オプション一覧を表示する
    ▼AWKの入出力関数とコマンド実行機能
(2011年5月11日訂正。用語を標準エラー出力へ)