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 | ○ | ○ | ○ | ○ | ○ | 条件に一致したら実行する |
else | ○ | ○ | ○ | ○ | ○ | ifで実行しない時に実行する |
switch | ○ | △ (注記 あり) | × | × | × | 選択肢を選んで実行する |
case | ○ | ○ | × | × | × | switch文の中で、選択肢を指定する |
default | ○ | △ (注記 あり) | × | × | × | switch文の中で、全ての選択肢と一致しない時に実行する |
繰り返し | ||||||
while | ○ | ○ | ○ | ○ | ○ | 条件付きで繰り返す |
do | ○ | ○ | ○ | ○ | ○ | 後でwhile判定する繰り返し |
for | ○ | ○ | ○ | ○ | ○ | 繰り返し文その2 |
break | ○ | ○ | ○ | ○ | ○ | 繰り返し文を途中終了する |
continue | ○ | ○ | ○ | ○ | ○ | 繰り返し文の先頭に戻る |
ユーザー定義関数 | ||||||
function | ○ | ○ | ○ | ○ | ○ | 関数を作る |
return | ○ | ○ | ○ | ○ | ○ | 関数の呼び出し元に戻る |
func | ○ | ○ | × | × | ○ | functionの古い書き方 |
戻りと終了 | ||||||
exit | ○ | ○ | ○ | ○ | ○ | 終了する |
next | ○ | ○ | ○ (注記あり) | ○ (注記あり) | ○ (注記あり) | 次行の処理に移る |
nextfile | ○ | ○ | × | × | ○ (注記あり) | 次の入力ファイルの処理に移る |
next file | × | × | × | × | × | nextfileの古い書き方 |
コメント | ||||||
# | ○ | ○ | ○ | ○ | ○ | コメントを入力する |
変数 | ||||||
ARGC | ○ | ○ | ○ | ○ | ○ (注記 あり) | ARGVに入っている要素の個数 |
ARGV | △ | △ | △ | ○ | ○ | AWK起動時に指定した入力ファイル名とコマンド名 |
ARGIND | ○ | ○ | × | × | × | ARGVにおける現在入力中ファイルの位置 |
ENVIRON | ○ (注記 あり) | ○ (注記 あり) | ○ | ○ | ○ | 環境変数。読み取り専用 |
PROCINFO | △ (部分対応) | △ (部分対応) | × | × | × | AWKのプロセスに関する情報。プロセスIDなど |
環境変数 | ||||||
AWKPATH | ○ | ○ | ○ | × | × | コマンドでのAWKファイル名指定時、ファイルの場所を省略する |
==
関連ページ:
▼AWKの関数、変数、制御文(▼ABC順)
▼AWKプログラムを書く
▼AWK
▼制作メモ
> ▼AWKの配列操作関数と関連機能
> 入出力とコマンド実行の注意点まとめ
+
▼AWKの数値計算関数と関連機能
▼AWKの文字列操作関数と関連機能
▼AWKの入出力関数とコマンド実行機能