Bye Bye Moore

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

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