2011年5月11日水曜日

/dev/null = 常に空のファイル名(Gawk専用) - AWK

AWKの入出力とコマンド実行機能
○Gawk on Windows ○Gawk ×mawk32 ×Mawk ×awk
常に空のファイルです。

o 出力を一時的に、どこにも送りたくない時に便利です。
o Gawk限定の機能です。


**** 書式
--------
"/dev/null"
--------

o 文字列の形で指定します。


**** 使用例
--------
BEGIN {
  print "空のファイルに出力します。上書きモードの書き方。" > "/dev/null";
  print "空のファイルに出力します。追加モードの書き方。" >> "/dev/null";

  devnull = "/dev/null";
  print "変数にして指定する事も出来ます。ミクさん。" > devnull;
}
--------

o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。


**** 機能
o 常に空のファイルを示すファイル名です。
o Gawk限定の機能です。


**** メモ
o 他の処理系の場合は、コマンドプロンプト画面やシェル側で対応する方法が簡単です。
    + 実在するファイルに書き出して、後でそのファイルを削除する方法
    + 表示を全部消したい時は、常に空のファイルに書き出す方法
        + Windowsの場合は「NUL = 表示結果をどこにも書き込まない、特殊なファイル


**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3 -- 非対応
o Mawk for Windows 1.3.3 -- 非対応
o original = the one true awk(updated May 1, 2007) -- 非対応


==
関連ページ:
    ▼AWKの入出力関数とコマンド実行機能▼ABC順
    ▼AWKプログラムを書く▼ABC順
    ▼AWK
    ▼制作メモ
    > AWKプログラムで使用可能な特殊ファイル名。標準入力、標準出力、標準エラー出力など

/dev/stdout = 標準出力を示すファイル名 - AWK

AWKの入出力とコマンド実行機能
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
AWKでは、標準出力をファイル名として指定する事が出来ます。

o print文の出力先を一時的に標準出力に切り替えたい時に、便利です。
o 出力先を指定せずにprint文やprintf文を使うと、AWKは標準出力に出力します。


**** 書式
--------
"/dev/stdout"
--------

o 文字列の形で指定します。


**** 使用例
--------
BEGIN {
  print "標準出力に出力します。1行目はファイルがあれば上書き" > "/dev/stdout";
  print "標準出力に出力します。2行目は追加書き" > "/dev/stdout";

  print "標準出力に出力します。ファイルがあれば後ろに追加" >> "/dev/stdout";
  print "標準出力に出力します。2行目は追加書き" >> "/dev/stdout";

  stdout = "/dev/stdout";
  print "変数にして指定する事も出来ます。ミクさん。" > stdout;
}
--------

o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。


**** 機能
o 標準出力を示すファイル名です。


**** メモ
o Gawkの場合は、"/dev/fd/1" という書き方も可能です。
o Windows のコマンドプロンプト画面から標準エラー出力だけ取り出す方法は「標準出力と標準エラー出力。AWKプログラムの出力結果をファイルに書き出す方法


**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3
o Mawk for Windows 1.3.3
o original = the one true awk(updated May 1, 2007)


==
関連ページ:
    ▼AWKの入出力関数とコマンド実行機能▼ABC順
    ▼AWKプログラムを書く▼ABC順
    ▼AWK
    ▼制作メモ
    > /dev/stderr = 標準エラー出力を示すファイル名
    /dev/null = 常に空のファイル名
    AWKプログラムで使用可能な特殊ファイル名。標準入力、標準出力、標準エラー出力など