$ cat a.awk
#! /bin/awk -f
BEGIN{
a="123" # 文字列として 123 を代入
print a
b=a+2 # 数値に変換し、2を加算
print b
c=b"+123" # 再び文字列として連結
print c
}
$ a.awk /dev/null
123
125
125+123
配列の例
$ cat /etc/resolv.conf
nameserver 172.19.0.1
nameserver 172.19.0.117
$ awk '{line[NR]=$0}END{for(i=NR;i>0;i--)print line[i]}' /etc/resolv.conf
nameserver 172.19.0.117
nameserver 172.19.0.1
$ awk 'END{a["ichi"]=1;a["ni"]=2; print a["ichi"]}' /dev/null
1
for .. in 文により配列全体を読みだす場合にはその添字部分のみが返される。
(perl では添字、要素のペアが返される。)
簡単な例 a.awk:
END{
a["a"] = "abc";
a["b"] = "123";
for ( n in a ) {
printf "-%s\n", a[n]
}
for ( n in a ) {
printf "+%s", n
}
}
$ awk -f a.awk /dev/null
-abc
-123
+a
+b