我希望能够将一个数组变量传递给 awk
。我指的不是 shell 数组,而是本地的 awk
数组。我知道我可以像这样传递标量变量:
awk -vfoo="1" 'NR==foo' file
我可以使用相同的机制定义一个awk
数组吗?类似这样:
$ awk -v"foo[0]=1" 'NR==foo' file
awk: fatal: `foo[0]' is not a legal variable name
我尝试了上述几种变体,但它们都无法在我的Debian上的GNU awk 4.1.1上运行。那么,是否有任何版本的awk(gawk、mawk或其他)可以从-v开关接受数组呢?
我知道我可以绕过这个问题,并且可以轻松想到解决方法,只是想知道是否有任何awk实现原生支持这种功能。
a = [1, 2, 3]
这样的数组初始化... - Tom Fenechawk
中它们只能是关联型的。 - fedorquiawk
数组”。 - terdon