AWK错误:尝试在标量上下文中使用数组

vk2*_*239 6 awk

我正在学习AWK.这是一个简单的代码片段,我试图将一个字符串拆分成一个数组并迭代它.

BEGIN {
  split("a,b,c", a, ",");

  for(i = 1; i <= length(a); i++) {
    print a[i];
  }
}
Run Code Online (Sandbox Code Playgroud)

运行此代码时,我收到以下错误:

awk:awk.txt:4:致命:尝试在标量上下文中使用数组"a"

但是,如果我将for语句更改为for (i in a)它就可以了.在进一步试图通过谷歌搜索来理解这意味着什么,我看到许多论坛(例如:[1])谈论awk错误.如果这里的AWK大师可以帮助我理解错误信息的含义,那将是很棒的.

Wil*_*ell 6

length需要一个字符串参数.你传给它一个数组.错误消息告诉您正在使用预期标量的数组.