2010年7月17日土曜日

AWKのパターンと制御文 - AWK

AWKの関数、変数、制御文
AWKの入出力とコマンド実行機能
**** 制御文の手引き
o 基本的な使い方
Hello, world
AWKプログラムを簡単に書く方法
AWKで最も短いプログラム
AWKプログラムの基本パターン
AWKの関数名と変数名を区別する方法
ローカル変数を使う

o 特別な使い方
AWKプログラム実行時に変数を設定する方法
AWKで入力ファイルの指定を不要にする方法
AWKの入力ファイルを、AWKプログラムの中で追加、削除(= キャンセル)する方法
入力ファイルを手入力する方法


**** パターン
BEGIN = 最初に実行する
END = 最後に実行する
パターンの書式と使い方


**** 制御文
o 条件分岐
if = 条件に一致したら実行する
else = ifで実行しない時に実行する
switch = 選択肢を選んで実行する(Gawk専用)
case = switch文の中で、選択肢を指定する(Gawk専用)
default = switch文の中で、全ての選択肢と一致しない時に実行する(Gawk専用)

o 繰り返し
while = 条件付きで繰り返す
do = 後でwhile判定する繰り返し
for = 繰り返し文その2
break = 繰り返し文を途中終了する
continue = 繰り返し文の先頭に戻る

o ユーザー定義関数
func => function
function = 関数を作る
return = 関数の呼び出し元に戻る

o 戻りと終了
exit = 終了する
next = 次行の処理に移る
    + next file => nextfile
nextfile = 次の入力ファイルの処理に移る (mawk不可)

o コメント
# = コメントを入力する


**** 関係する変数
ARGC = ARGVに入っている要素の個数
ARGV = AWK起動時に指定した入力ファイル名とコマンド名
ARGIND = ARGVにおける現在入力中ファイルの位置 (Gawk専用)
ENVIRON = 環境変数。読み取り専用
PROCINFO = AWKのプロセスに関する情報。プロセスIDなど(Gawk専用)


**** 関係する環境変数
AWKPATH = コマンドでAWKファイル名を指定する時、ファイルの場所を省略する(Gawk, mawk32専用)

制御文関連のサポート状況
名前Gawk
on
Windows
3.1.7
Gawk
for
Windows
3.1.6
mawk32
1.3.3
Mawk
for
Windows
1.3.3
awk
(May
1,
2007)
説明
特別なパターン  
BEGIN最初に実行する
END最後に実行する
条件分岐  
if条件に一致したら実行する
elseifで実行しない時に実行する
switch
(注記
あり)
×××選択肢を選んで実行する
case×××switch文の中で、選択肢を指定する
default
(注記
あり)
×××switch文の中で、全ての選択肢と一致しない時に実行する
繰り返し  
while条件付きで繰り返す
do後でwhile判定する繰り返し
for繰り返し文その2
break繰り返し文を途中終了する
continue繰り返し文の先頭に戻る
ユーザー定義関数  
function関数を作る
return関数の呼び出し元に戻る
func××functionの古い書き方
戻りと終了  
exit終了する
next
(注記あり)

(注記あり)

(注記あり)
次行の処理に移る
nextfile××
(注記あり)
次の入力ファイルの処理に移る
next file×××××nextfileの古い書き方
コメント  
#コメントを入力する
変数  
ARGC
(注記
あり)
ARGVに入っている要素の個数
ARGVAWK起動時に指定した入力ファイル名とコマンド名
ARGIND×××ARGVにおける現在入力中ファイルの位置
ENVIRON
(注記
あり)

(注記
あり)
環境変数。読み取り専用
PROCINFO
(部分対応)

(部分対応)
×××AWKのプロセスに関する情報。プロセスIDなど
環境変数  
AWKPATH××コマンドでのAWKファイル名指定時、ファイルの場所を省略する


==
関連ページ:
    ▼AWKの関数、変数、制御文▼ABC順
    ▼AWKプログラムを書く
    ▼AWK
    ▼制作メモ
    > ▼AWKの配列操作関数と関連機能
    > 入出力とコマンド実行の注意点まとめ
    +
    ▼AWKの数値計算関数と関連機能
    ▼AWKの文字列操作関数と関連機能
    ▼AWKの入出力関数とコマンド実行機能