awk はテキストデータ処理に欠かせないツールです。短時間で目的の処理を行うことができます。
さらにawka でコンパイルすると、awk 本体は必要なくなり、データ処理速度は格段に向上します。
私の場合、Linux に乗換まで、Windows の MinGW でawkaを使っていました。
・必要なパッケージ
awka-0.7.5.tar.gz
・インストール
$gzip -d awka-0.7.5.tar.gz
$tar -xvf awka-0.7.5.tar
$cd awka-0.7.5
$./configure
$make
$make test … テストデータでインストールチェックを行います。
次のようなメッセージが表示されればOKです。
cmp ./next.ok _next && rm -f _next
cmp ./rsnul1nl.ok _rsnul1nl && rm -f _rsnul1nl
cmp ./poundbang.ok _`basename poundbang` && rm -f _`basename poundbang`
cmp ./fflush.ok _fflush && rm -f _fflush
cmp ./getlnhd.ok _getlnhd && rm -f _getlnhd
cmp ./pipeio1.ok _pipeio1 && rm -f _pipeio1
cmp ./pipeio2.ok _pipeio2 && rm -f _pipeio2
cmp ./strftlng.ok _strftlng && rm -f _strftlng
cmp ./posix.ok _posix && rm -f _posix
cmp ./posix2.ok _posix2 && rm -f _posix2
This number better be 1 ->1
cmp ./nondec.ok _nondec && rm -f _nondec
cmp ./asort.ok _asort && rm -f _asort
#checkinstall … rpm形式でインストールするツールです。
checkinstall が無ければ、make install でインストール完了です。
checkinstall 実行後のメッセージです。
**********************************************************************
Done. The new package has been installed and saved to
/usr/src/vine/RPMS/i386/awka-0.7.5-1.i386.rpm
You can remove it from your system anytime using:
rpm -e awka-0.7.5-1
**********************************************************************
・バージョンチェック
$awka -v
awka 0.7.5, 12 July 2001, Copyright (C) Andrew Sumner
some sections Copyright Michael T. Brennan
http://awka.sourceforge.net
・awka の使い方
私は、awk2c.sh なるスクリプトを作成しています。参考にして下さい。
------- awk2c.sh ---------
#!/bin/bash
awka -f $1".awk" >$1".c"
gcc -c $1".c" -I/usr/local/include -o $1".o"
gcc $1".o" -L/usr/local/lib -lawka -lm -o $1
rm *.c *.o
----------------------------