データ処理に便利な機能
ここでは、基礎的な部分を省略してデータ処理に的を絞った「おすすめ機能」をお話しさせていただきます。
私が永くAWKを使い続けたのには理由があったのです。
それは、以下のような機能があったからです。
-
正規表現
この機能があるおかげで文字列処理が容易になります。(現在では多くの言語に搭載されています。)
正規表現は、DOSのワイルドカードを複雑にしたような機能で、文字列の中のある文字列を探し出せます。
慣れるまでは暗号のようで、迷うかもしれません。しかし、この機能が無い言語ではテキストデータ処理は困難でしょう。
以下のようなAWK組込関数で正規表現が使用できます。
- match(s, r)
- gsub(r, s, t)・sub(r, s, t)
- split(s, a, r)
正規表現についてはこちらを参考にして下さい。ただし、JavaScript 用ですので AWK とは少々異なる箇所がありますのでご注意ください。
-
連想配列
すでに各種の言語に搭載されている機能です。C言語では「0」から始まる数字が添え字になっていますが、連想配列では文字列を添え字とすることが出来るのです。この機能を使用すれば、データ(文字列)の出現頻度を簡単に集計できます。私が一番気に入っている機能です。
-
変数型の宣言不要
AWKでは文字列変数しかありません。全てが文字列として取り込まれます。
数字のみで構成されている文字列で数学的な演算をすると、自動的に数値に変換した後に数学的に計算されます。
逆に数値として代入された変数を文字列処理すると自動的に文字列に変換されます。
このように変数の型を意識しないでプログラミングできるので、プログラミングの負担が軽くなりスピーディに集計実験することができるのです。
便利な半面、バグの発見が困難になるという不利な面もありますが、大きなシステムをAWKで組むことは無いので問題ないでしょう。
以上、私がAWKを気に入って使い続けた理由です。
それぞれの機能の使用方法は、以降の章でご説明いたします。
前<-->次
戻る