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
の起動を参照).