awk 【Aho Kerninghan Weinberger】
概要
awk(Aho Kerninghan Weinberger)とは、UNIX系OSでよく使われる、テキスト処理に適した簡易なプログラミング言語の一つ。また、同言語の処理系(実行環境)を起動するための標準のコマンド名(awkコマンド)。コンパイルなど実行前の準備作業を明示的に実行する必要のない、いわゆるスクリプト言語の一種で、主にテキスト(文字)データの処理を行うために利用される。パイプやリダイレクトで他のコマンドの出力を受け取って整形・加工する用途にも用いられる。
awkプログラムの基本構造は、入力ファイルを1行ずつ読み込み、指定されたパターンに一致した場合は対応する処理を実行、結果を出力するというもので、このパターンと処理の対を列挙してプログラムを作成する。読み込み開始前に実行する処理や全体の終了処理を記述したり、読み込みを行単位(改行区切り)ではなく別の区切り文字で分割した単位にすることもできる。
汎用的なプログラミング言語と同じように、変数を利用したり、関数を定義して呼び出したり、条件分岐や繰り返しなどの制御構造を利用することもできる。テキストファイルにプログラムを記述して実行する使い方の他に、コマンドに引数の形で短いコードを渡して即時に実行する(ワンライナー)という使い方もよく行われる。
1977年に初期のUNIXシステム向けのテキスト処理系として開発されたもので、「awk」の名称は主要な開発者であるアルフレッド・エイホ(Alfred V. Aho)氏、ピーター・ワインバーガー(Peter J. Weinberger)氏、ブライアン・カーニハン(Brian W. Kernighan)氏の頭文字を繋ぎ合わせたものとされる。UNIX系OSにおける標準的なスクリプト言語およびコマンドの一つとして様々な環境に移植され広く普及している。
(2022.7.5更新)