2010年8月1日日曜日

nextfile = 次の入力ファイルの処理に移る - AWK

AWKのパターンと制御文
○Gawk on Windows ○Gawk ×mawk32 ×Mawk ○(注記あり)awk
現在入力ファイルの処理を終了して、次の入力ファイルの処理に移ります。

**** 書式
--------
nextfile
--------

o この関数は、mawkでは非対応です。
o バージョン2の頃のGawkでは、「next file」と書くみたいです。


**** 使用例
--------
{
  if ($1 == "みくみくみく") {
    print "次のファイルを読み込みます。";
    nextfile;
  }
  print;
}
--------

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


**** 機能
o 現在入力ファイルの処理を終了して、次の入力ファイルの処理に移ります。
o BEGINENDの中で使うと、エラーメッセージが表示されます。
o この機能をサポートしていない処理系があります。

** 処理系に依存する動作
o この機能をサポートしている処理系は、次の通りです。
   + Gawk on Windows 3.1.7
   + Gawk for Windows 3.1.6
   + original = the one true awk(updated May 1, 2007)
o mawk系(mawk32 1.3.3 / Mawk for Windows 1.3.3)では、この文は無視して処理を続行します。
o original = the one true awk(updated May 1, 2007)では、function(= 関数)の中からこの文を呼び出すと、文法エラーになります。


**** 確認した処理系
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) -- functionの中からの呼び出し不可


==
関連ページ:
    ▼AWKのパターンと制御文▼ABC順
    ▼AWKプログラムを書く▼ABC順
    ▼AWK
    ▼制作メモ
    > # = コメントを入力する
    ARGC = ARGVに入っている要素の個数
    ARGV = AWK起動時に指定した入力ファイル名とコマンド名
    +
    next = 次行の処理に移る
    next file = 次の入力ファイルの処理に移る(= nextfileの古い書き方)
(2010年8月29日追加。functionの中から呼び出した時の動作)