"}なお、AWKでは、まだ代入されていない変数は暗黙のうちに0または""で初期化されると仮定してよいので、上の例でのBEGINブロックは必須ではない。パターンには以下のように開始と終了を定義するパターンもある。「<script>」を含む行から「</script>」を含む行まで(その行自身を含む)の間、指定されたアクションが実行する(この場合は単に行全体を出力する)。$0;}変数編集AWKの特徴の一つとして変数が型を持たないことが挙げられる。変数宣言が不要で、プログラム中で使用される変数は暗黙のうちに初期化される。このため、未定義変数や未初期化変数を参照することによるエラーはAWKには存在しない。AWKは算術演算のような数値を必要とする文脈では暗黙に値を数値に変換し、逆に文字列を必要とする場合には文字列に変換する。cのような例では、dおよびeの値は3になる。した暗黙の変換は便利であると同時に、利用者の意図しない結果を生むこともある。ように""を結合させたりする、という常套手段がある。関数編集AWKでは、関数を定義して使用することが可能である。関数の定義は次のようになる。......}AWKの変数は、引数を除いて全て大域変数であり、局所のスコープを持つのは引数として宣言された変数だけである。このため、技法として、関数定義で余分な引数を宣言し、それを局所変数として使う、ということが行なわれる。AWKでは、関数の呼び出し時に、実引数の個数が仮引数の個数より少なくても、省略とみなしエラーとしない。これを利用して、余分な引数を局所変数として使うのである。......}このように関数を定義した上で,呼び出すときに引数を3つしか使わなければ、局所変数1以降は局所変数として扱える。構文上の区別は無いが、判読性を向上させるために両者の間に十分な空白を挿入するのが慣例になっている。......}また、関数は再帰呼び出しもできる。制御構造編集AWKの制御構造には以下のようなものがある。(式)breakcontinueその他next以降の文の実行および以降のパターン処理をせずに、次のレコードの処理を開始するnextfile現在の入力ファイルの残りを読み込まずに、次のファイルの処理を開始するreturn関数の処理を停止し、関数の呼び出し元に制御を戻す。値が指定されてあれば値を返す。exitプログラムの実行を終了させるまた、制御構造の他に、以下の文がある。AWK(gawk)を代表に、他の実装も多い。Environment)4.4節での説明で使われている版でもある[2]。関数のユーザー定義ができないのが、現在と比べると大きな制限である。これ、ないし次を指して、日本ではくだけた感じで「元祖」などと呼ぶ。nawk1980年代後半頃までのバージョンアップにより登場したもので、SVR3の頃のUNIXに付属[2]。関数のユーザー定義などの機能が追加された。awkなどとも呼ばれる。別の実装になっているtoolも多いが)FreeBSD(バージョン5およびそれ以降)の/usr/bin/awkなどはこれである。大きな機能追加などは以前から無いが、現在もメンテナンスされている。gawkGNUプロジェクトによるAWKの実装。GNU/Linuxディストリビューションではawkという名前のプログラムがこの実装であることが多い。1003.2コマンド言語とユーティリティ規約に定められた言語の定義に適合している。マルチバイト文字への対応やネットワークへの接続機能など、オリジナルのAWKには無い多数の拡張が加えられており、現在もバージョンアップが続いている。旧版のawkに少数の拡張が加えられている。バイトコードに変換されて実行されるため,高速な動作が期待できる。gawkよりもバイナリサイズが小さい。MBCS木村浩一(ハンドル名:Bruce)によるmawkのマルチバイト拡張。1003.1-2017で標準化されている[3]。Baseでも指定コマンドになっている[4]。カーニハンによる『プログラミング言語AWK』の日本語版序文に見られる。auk)が描かれており、これもその主張の強調である。2018年10月14日閲覧。プログラミング言語AWKA・エイホ、B・カーニハン・P・ワインバーガー『プログラミング言語AWK』足立高徳訳、トッパン、1989年11月。4-8101-8008-5。本)などと呼ばれ、C言語におけるK&Rのような扱いの本である。日本版は版元の出版事業撤退により最初に絶版となる。A・エイホ、B・カーニハン・P・ワインバーガー『プログラミング言語AWK』足立高徳訳、シイエム・シイ出版部、2001年2月。4901280406。