私は次のようなことをしたい:
for (x in {a,b}) {
...
}
awkでこれを行う方法はありますか?
2つのオプション:
1)
for (x in a)
u[x]
for (x in b)
u[x]
for (x in u)
print "Union Index:",x
2)
for (x in a)
print "Union Index:",x
for (x in b)
if (!(x in a))
print "Union Index:",x
そして、何かが必要な場合は、forループで簡潔に使用できます。
$ cat tst.awk
function indices(a,b,u, x,c)
{
for (x in a) {
u[++c] = x
}
for (x in b) {
if (!(x in a)) {
u[++c] = x
}
}
return c
}
BEGIN {
a[3]="foo"
a[9]=3
b[5]=7
b[15]=45
for (i=1; i<=indices(a,b,u); i++) {
print u[i]
}
}
$ awk -f tst.awk
9
3
5
15