AWKはLinuxディストリビューションに標準で装備されていることが多く、インストール作業が不要である。
ここではAWKのプログラム実行ができるようにする。
AWKとは
AWKは1977年に開発された、インタプリタ型のスクリプト言語。
元々はsedやgrepのように、テキストファイルを処理するツール(コマンド)として開発されたもので、区切り文字(空白、カンマ、タブなど)があるテキストデータの処理を念頭に置いた仕様になっている。
開発された当時はUNIXに付属していたものだったが、今では複数のプラットフォームに移植されていて、種類もいくつかに派生している。
AWKの種類
AWKの種類について、以下のようなものがある。
性能を求める場面ならmawk、多機能を求める場面ならgawkを使えば良いと思う。
・awk(旧版)
1980年代まで開発されていたもの。
・nawk
1980年代後半のバージョンアップで登場したもの。
旧版と区別するため「new AWK」からnawkと呼ぶようになった。
・gawk
GNUプロジェクトによって開発されたAWK。
旧版から多くの機能拡張がされており、LinuxディストリビューションではこれをデフォルトのAWKとしていることが多い。
・mawk
機能的にはgawkと比べると乏しいが、バイトコードに変換してから処理実行されるため、他のAWKよりも高速に動作することが多い。
AWKのインストール操作
以降のインストール操作は、以下の環境をもとに記載している。
Ubuntu 22.04
インストール
Linux環境には、AWKが標準でインストールされている事が多い。
バージョン表示をしてみて、バージョンが表示されるなら、インストール作業は不要である。
ここでは、gawkとmawkをインストールする。
# パッケージを検索 sudo apt search "awk" sudo apt list | grep "awk" # インストール sudo apt install -y gawk sudo apt install -y mawk # バージョン表示 gawk -W version mawk -W version
動作確認(ファイル指定)
# ソースコードファイルを作成
vi testawk.awk
# 動作確認用のサンプルプログラム
BEGIN {
print "Hello AWK"
}
# ファイル指定で実行
gawk -f testawk.awk
mawk -f testawk.awk
動作確認(コマンドで直接実行)
簡易的な処理なら、コマンド内で直接実行できる。
# コマンドで直接実行
gawk 'BEGIN{ print "Hello AWK" }'
mawk 'BEGIN{ print "Hello AWK" }'
