Bye Bye Moore

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

AWKで変数を含んだ文字列を生成したい場合、余計な事を考えずに並べるだけでいい

awkのデータ型は自由です。
数値と文字列が混在していても、よろしくやってくれます。
これらを連結したい場合、余計な事を考えずスペース区切りで並べてあげるだけです。

実際のところ

既存の変数に数値を足した変数を生成したい場合、単に並べてあげるだけです。

$ gawk --source 'BEGIN {var = 1; var = 2 var; print var}'
21

ここでRubyみたいな感覚で+でつなげてしまうと……変数の情報は消えます。
エラーを吐かないので厄介ですね。

$ gawk --source 'BEGIN {var = "here"; var = 2 + var; print var}'
2

これは文字列同士の場合も同様です。しかも、結果は空文字でなく「0」になります。
事情を知ってないと何が起きたか検討もつきませんね。

$ gawk --source 'BEGIN {var = "here"; var = "OK" + var; print var}'
0

参考もと

awk.info » Learn