我刚刚学习awk,这是我的问题:
test.awk
BEGIN {
SUM=0
AVE=0
COUNT=0
}
{
for(COUNT+=3; COUNT<=22; COUNT=COUNT+1)
SUM[NR]=SUM[NR]+$COUNT
}
END {
for(COUNT=1; COUNT<=N; COUNT=COUNT+1)
SUM[COUNT]
}
当我跑步时:
awk -f test.awk hello
我收到此错误:
awk:cmd。 line:2:(FILENAME = hello FNR = 1)致命:尝试使用标量“SUM”作为数组
请告诉我发生了什么,我该如何纠正。
答案 0 :(得分:4)
SUM=0
这告诉awk SUM
是一个标量,在这种情况下是数字零。
SUM[NR]=...
这告诉awk您要将SUM
用作数组。但是你已经告诉它SUM
是0
,你不能使用0[NR]
。