如何在AWK中获取数组的大小?

时间:2018-02-21 00:21:47

标签: awk gawk


我通过拆分字符串声明了数组。

names = "Dhana,Subha,Siva"
n=split(names,name_arr,",");

我想在这里打印数组的大小而不使用变量' n'?有什么方法类似于name_arr.length或name_arr.size()?

1 个答案:

答案 0 :(得分:2)

在我的GNU awk系统之后的工作中,如果根据您的问题,您不想使用变量来获取数组的长度。如果length中有awk,我们可以使用awk 'BEGIN{names="Dhana,Subha,Siva";split(names, array,",");print length(array)}'

3

输出为length

解决方案第二: 如果您的awk中没有num=split(..)选项,并且您不想使用{{ 1}}选项然后你必须以旧方式执行它你必须遍历数组并获得它的计数,然后按如下方式打印它:

awk 'BEGIN{names="Dhana,Subha,Siva";split(names, array,",");for(i in array){val++};print val}'