pattern { action statements } function name(parameter list) { statements }先ずパターンが先にきてその後ろに作用を記述する. 作用は{と}で囲む.パターンもしくは作用のいずれか一方を省略できる. パターンが省略されたときはその作用は入力された全ての行に対して実行される. 一方,作用を省略することは, { print } と同義で,その行全体を出力する.
function name(parameter list) { statements }関数はあまり多く用意されていない. 例えば,絶対値をとる関数なども,自分で作らないといけない. 関数はパターン−作用対の中の作用ブロックの中から呼ばれることによって実行される. 関数呼び出し時の実引数は,関数で宣言された仮引数に渡される.