gpt4 book ai didi

arrays - 如何在awk中初始化数组的数组?

转载 作者:行者123 更新时间:2023-12-02 15:49:27 25 4
gpt4 key购买 nike

是否可以在 AWK 中初始化这样的数组?

Colors[1] = ("Red", "Green", "Blue")
Colors[2] = ("Yellow", "Cyan", "Purple")

然后有一个二维数组,其中 Colors[2,3]="Purple"。

<小时/>

来自another thread我知道这是不可能的(“遗憾的是,没有办法在不滥用 split() 的情况下一次性设置一个数组”)。无论如何,我想 100% 确定,并且我确信还有其他人有同样的问题。

我正在寻找最简单的方法来初始化数组,就像上面的方法一样,如果能写得好那就太好了。

最佳答案

如果您有 GNU awk,则可以使用 true multidimensional array 。尽管这个答案使用了 split() 函数,但它肯定不会滥用它。运行如下:

awk -f script.awk

script.awk 的内容:

BEGIN {

x=SUBSEP

a="Red" x "Green" x "Blue"
b="Yellow" x "Cyan" x "Purple"

Colors[1][0] = ""
Colors[2][0] = ""

split(a, Colors[1], x)
split(b, Colors[2], x)

print Colors[2][3]
}

结果:

Purple

关于arrays - 如何在awk中初始化数组的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14063783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com