如何在 AWK 中获取数组的大小?
How to get size of array in AWK?
我已经通过如下拆分字符串来声明数组。
names = "Dhana,Subha,Siva"
n=split(names,name_arr,",");
我想在这里打印数组的大小而不使用变量'n'?有什么方法类似于 name_arr.length 或 name_arr.size() ?
在我的 GNU awk
系统中以下工作,以防根据您的问题您不想使用变量来获取数组的长度。如果 awk
.
可用,我们可以使用 length
awk 'BEGIN{names="Dhana,Subha,Siva";split(names, array,",");print length(array)}'
输出将为 3
。
解决方案 2: 如果您的 awk
中没有 length
选项并且您不想使用 num=split(..)
选项,那么你必须以旧的方式来做,你必须遍历数组并获取它的计数,最后打印它,然后如下所示:
awk 'BEGIN{names="Dhana,Subha,Siva";split(names, array,",");for(i in array){val++};print val}'
我已经通过如下拆分字符串来声明数组。
names = "Dhana,Subha,Siva"
n=split(names,name_arr,",");
我想在这里打印数组的大小而不使用变量'n'?有什么方法类似于 name_arr.length 或 name_arr.size() ?
在我的 GNU awk
系统中以下工作,以防根据您的问题您不想使用变量来获取数组的长度。如果 awk
.
length
awk 'BEGIN{names="Dhana,Subha,Siva";split(names, array,",");print length(array)}'
输出将为 3
。
解决方案 2: 如果您的 awk
中没有 length
选项并且您不想使用 num=split(..)
选项,那么你必须以旧的方式来做,你必须遍历数组并获取它的计数,最后打印它,然后如下所示:
awk 'BEGIN{names="Dhana,Subha,Siva";split(names, array,",");for(i in array){val++};print val}'