2010年6月30日水曜日

FILENAME = 現在読み込み中ファイルの名前 - AWK

AWKの入出力関数とコマンド実行機能
○Gawk on Windows ○Gawk ○mawk32 ○Mawk ○awk
現在読み込み中ファイルの名前です。
o これから読み込むファイル名を変更したい時は、ARGVARGCを変更します。

**** 書式
--------
FILENAME
--------

o FILENAMEは変数です。
o FILENAMEの値を変更する事も出来ますが、AWKの動作は変わりません。


**** 使用例
--------
{
  print "只今、ファイル [" FILENAME "]の、" FNR "行目を読み込みました。";
}
--------

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


**** 機能
o 現在読み込み中ファイルの名前です。
o 標準入力から読み込んだ時、名前は「-」になります。例えば、
   + 入力ファイル名を指定せず、入力内容を手入力する場合
   + パイプを使って、他のコマンドの出力結果をawkプログラムに渡す場合
o getlineを使って別のファイル(やパイプ)を開いても、FILENAMEの値は変わりません。
o FILENAMEの値を変更しても、読み込み中ファイルは切り替わりません。


**** 確認した処理系
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
    ▼制作メモ
    > ARGV = AWK起動時に指定した入力ファイル名とコマンド名
    OFS = printを使って書き出す時の列区切り文字
    ORS = printを使って書き出す時の改行文字
    +
    FNR = 現在の入力ファイルから読み込んだ行数
    ARGC = ARGVに入っている要素の個数
    ARGIND = ARGVにおける現在入力中ファイルの位置(Gawk専用)
(2010年8月15日追加。手動更新した場合)