GNU Awk 5.1.0
我正在使用以下操作建立关联数组:
ptf["sysmodName"] = strip(a[1])
ptf["sysmodType"] = strip(a[2])
构建完此代码后,我想使用以下方法将其分配给数组数组:
x = ptf["sysmodName"]
ptfs[x] = ptf
但是awk抱怨:
fatal: attempt to use array `ptf' in a scalar context
是否有一种简单的方法可以将整个数组整体分配给多维数组的元素,或者我必须一次将其分配给一个元素?
答案 0 :(得分:3)
您必须一次完成1个元素:
x = ptf["sysmodName"]
for (y in ptf) {
ptfs[x][y] = ptf[y]
}
如果ptf[]
是一个真正的多维数组(由gawk支持的数组数组),请参阅How do you copy a multi-dimensional array (i.e. an array of arrays) in awk?。