我怎样才能得到一个AWK数组的长度?

我怎样才能得到一个AWK数组的长度?

问题描述:

此命令

echo "hello world" | awk '{split($0, array, " ")} END{print length(array) }'

不为我工作,给此错误消息

does not work for me and gives this error message

AWK:线路1:非法引用数组的数组

awk: line 1: illegal reference to array array

为什么?

当您分割一个数组,返回元素的#,所以可以说

when you split an array, the # of elements is returned, so you can say

echo "hello world" | awk '{n=split($0, array, " ")} END{print n }'
# ------------------------^^^--------------------------------^^

输出为

2

我希望这有助于。

I hope this helps.