如何将数组分配给多维数组的元素?

时间:2020-08-24 12:35:27

标签: awk

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

是否有一种简单的方法可以将整个数组整体分配给多维数组的元素,或者我必须一次将其分配给一个元素?

1 个答案:

答案 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?

相关问题