awk''尝试使用标量`SUM'作为数组''

时间:2014-02-17 04:45:54

标签: awk

我刚刚学习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”作为数组

请告诉我发生了什么,我该如何纠正。

1 个答案:

答案 0 :(得分:4)

SUM=0

这告诉awk SUM是一个标量,在这种情况下是数字零。

SUM[NR]=...

这告诉awk您要将SUM用作数组。但是你已经告诉它SUM0,你不能使用0[NR]