Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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

参考もと