awk言語の進化
このマニュアルではawkのGNUでの、POSIX に従った処理系の説明がされている。
多くのawkユーザーは、Version 7 Unix上のオリジナル
awk(Berkeley Unix (through 4.3--Reno)上のものの基礎となった) 処理系
しか知らないだろう。この章ではawk言語の進化をかいつまん
で説明する。
awk言語はVersion 7 Unix (1978)と、System V Release 3.1 (1987)で最初に
作られた新しいバージョンとの間で相当に進化した。このセクションでは変更と、
それについてのクロスリファレンスを要約する。
delete 文(セクション delete文を参照).
do-while 文
(セクション do-while文を参照).
atan2, cos, sin, rand, srand
(セクション 組込みの数値関数を参照).
gsub, sub, match
(セクション 組込みの文字列操作関数を参照).
closeと、ユーザー
がオペレーティングシステムのコマンドを実行するための組み込み関数system
(セクション 入出力の組込み関数を参照).
ARGC, ARGV, FNR, RLENGTH, 
RSTART, SUBSEP(セクション 組込み変数を参照).
awkプログラムで破られていた演算子の優先順位を
Cと同じにした(セクション 演算子の優先順位(演算子のネストの仕方)を参照).
FSにセットする値
(セクション フィールド分割の指定を参照)と、
split関数の三番目の引数として正規表現を許す
(セクション 組込みの文字列操作関数を参照).
getline関数に対する入力のリダイレクト
(セクション getlineを使った入力を参照).
BEGINルールとENDルール
(セクション スペシャルパターンBEGINとENDを参照).
UNIX System V Release 4 versionのawkでは次のような機能が追加されて
いる(このうちの幾つかはgawkがオリジナルである)
ENVIRON(セクション 組込み変数を参照).
awkの起動を参照).
awkの起動を参照).
srandが返す値の定義
(セクション 組込みの数値関数を参照).
toupper と tolower
(セクション 組込みの文字列操作関数を参照).
printf関数の書式指定文字`%c'の詳述
(セクション printf文を使った Fancier Printingを参照).
printf関数の引数リスト中で("%*.*d")の様にフィールド幅や、精度
を動的に与える機能
(セクション printf文を使った Fancier Printingを参照).
$0 ~/foo/の様に、マッチングオペレータを使用したときと等価な
/foo/の様な固定正規表現(セクション 定数式を参照).
awkとの間での変更
POSIX のコマンド言語とユーティリティの標準は、awkに次のような言語の
変更を導入した。
CONVFMT
(セクション 文字列と数値の変換を参照).
awkにはないgawkの機能
GNUでの実装によるgawkではさらに次の機能が追加されている。
AWKPATH
(セクション awkの起動を参照).
gawk特有の機
能
(セクション awkの起動を参照).
FILENAMEがあるARGVの要素への添字を保持する変数ARGIND
(セクション 組込み変数を参照).
getline が -1を返したときやcloseが失敗したときの
システムエラーメッセージが格納される変数ERRNO
(セクション 組込み変数を参照).
IGNORECASE と、その効果
(セクション 大小文字を意識した照合を参照).
FIELDWIDTHS と、その効果
(セクション 固定長データの読み込みを参照).
next file文
(セクション next file文を参照).
systime と strftime
(セクション タイムスタンプを扱う関数を参照).
awkの起動を参照).
awkの起動を参照).