Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

awkの組み込み拡張機能を使うときは「@load」を使う

AWKには予め拡張ライブラリがいくつか用意されています。
これらは@loadで読み出す事で利用可能です。

実際のところ

呼び出し方

数値をascii文字に拡張するライブラリordchrを使ってみます。
これを読み出し、97(='a')を変換するには以下のようにします。

$ gawk '@load "ordchr"; BEGIN {print chr(97);}'
a

拡張ファイルの場所と名前

これら拡張ファイルは
extension.soといった名前でawkディレクトリ下に置かれています。
試しに見てみると、特にディレクトリを追加してない私のOS X環境では以下のようなものがありました。

$ ls -1 /usr/local/Cellar/gawk/4.1.1/lib/gawk/
filefuncs.so
fnmatch.so
fork.so
inplace.so
ordchr.so
readdir.so
readfile.so
revoutput.so
revtwoway.so
rwarray.so
testext.so
time.so

参考もと