Bye Bye Moore

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

awkスクリプト内部で、他のファイルに記述した設定を呼び出したい場合

awkスクリプト内部で、他のファイルに記述した設定を呼び出したい場合ってありますよね。
この場合、標準拡張のreadfileかrwarryを使うと良いです。

実際のところ

readfile

単純にファイルを読み出すだけなら、以下のような感じでいけます。
一本の文字列として扱われるのでこれだと、普通の読み込みとなんら変わらないですけどね。

$ gawk '@load "readfile"; BEGIN{c = readfile("./sample.txt"); print c}'
sample

BEGIN節中で、PROCINFO["readfile"] を1に設定してあげると、$0がファイルの中身で読み代わります。

rwarray

これは読み込むと配列として格納してくれるライブラリです。
こちらは、readfileより使い道がありそうです。

参考もと

  • effective awk programming