Gnu Awk (gawk) 日本語対応版
● jgawkには、オリジナルのgawkに次のような変更が加えられています。
◎ 正規表現等が漢字などの2バイト文字に対応しています。
 正規表現の'.'は2バイト文字であるか1バイト文字であるかによらず一文字にマッチしますし、
  2バイト文字のコード体系はオプションによって、
  日本語Shift JIS              (-Wlang-sjis)
  日本語EUC                    (-Wlang-euc)
  韓国語EUC(KS C5601-1987)     (-Wlang-kseuc)
  中国語(台湾) TCA             (-Wlang-tca)
  の4種類が指定できます。これらのオプションを指定しなかったときのディフォルトはjgawk自身のコンパイル時に決定されており、MS-DOS版では日本語Shift JISとなっています。なお、"-Wlang-latin"を指定すると2バイト文字の解釈をしません。
  識別子に2バイト文字を使うことはできません。
◎ 組込み関数に以下のものを追加しました。
jindex(s, t)
  文字列s中の文字列tの位置を返します.
jlength(s)
  文字列sの文字数(バイト数ではない)を返します.
jsubstr(s, i, n)
  文字列sのi番目の文字から始まりn文字からなる部分文字列を返します.
◎ MS-DOS版では引数評価に次のような拡張がなされています。
* single quots('')で引数を括ることができます。
  jgawk 'BEGIN{print "hello";}'
* ワイルドカードにcsh風のglobbingができます。
   *.[ch]              ... *.c および *.h
   jgawk.{man,doc,tex} ... jgawk.man, jgawk.doc, jgawk.tex
◎ MS-DOS版ではsystem()関数に次のような拡張がなされています。
* 戻り値が取得できます。ただし、command.comの内部コマンドの場合は常に 0 となります。実行出来なかった場合 255 を返します。
* 出力ハンドルの切り替え。
  これは [FD1]>&[FD2] のような構文で、プログラムがファイルハンドル FD1 へ出力する内容を FD2 へりダイレクトします。
  例えば
  system("jgawk 2>&1");
  とすると、通常は標準エラー出力(2)へ出力されるjgawkのusageが標準出力へ出されます。この機構はgetlineへのパイプにも有効で、"jgawk 2>&1" | getline s;と書くこともできます。