我是一个非常新的awk初学者。我正在阅读一个简单的循环语句,其中通过使用split()命令,我在循环开始之前定义了'a'数组,并在循环的每次迭代中定义了'b'数组。
有人可以帮我解决下面的陈述吗?我把它放在透视中,因为我知道splits和for循环正在做什么。
split($2,a,":");
for(i=1,i<length(a),i++){
split(a[i],b," ")
#I don't know what the statement below this line does.
#It appears to be creating a multidimensional thing?
x[b[1]]=b[2]
答案 0 :(得分:1)
它看起来像一个单维数组。如果您的文本文件包含如下所示的一行,请说明一下:
1|age 10:fname john:lname smith|12345
|
的分隔符,您的$ 2将为age 10:fname john:lname smith
。:
拆分将提供3项:age 10
,fname john
和lname smith
for
遍历这3个项目。它需要第一项age 10
答案 1 :(得分:0)
x[b[1]]=b[2]
它没有创建多元数组。
x是一个数组。它将数组键b [z]的值赋给b [z]。 z是我刚才使用的正整数。