第八节AWK报告生成器(8)

八,awk中数组的使用

8,1 数组定义

array[index]:数组array的索引可以是任意字符串,如果数组某元素事先不存在,那么awk会自动创
建此元素并初始化为空串。
示例:

awk 'BEGIN{N[0]=na";N[1]="b";print N[0] N[1]}* 
ab
awk ,BEGIN{N["aa"]="l";N["bb"]="2";print N["aa"] }'
1
awk ' BEGIN{N[aa] ="1"; N [bb] ="2"; print N[aa] }' 
2
判断数组下标是否存在

示例:

awk 'BEGlN{N["xx"]="1";N["yy"]="2";N["zz"]="3";if("hh" in N)print "ok";else print "no"}'
no

8,2 利用for循环遍历数组元素

语法:for(var in 数组){语句}

示例

awk 'BEGlN{N[0]="a";N[1]="b";for(i in N) print N[i]}'
0
1
vim test 
a 
b
b
c
c 
c
#统计重复数量
awk '{A[$1]++}END{print A["b"]}' test 
2
# 
#统计所有重复数量
awk '{A[$1]++}END{for(N in A){print A[N]}}' test 
1
2
3
# 
#显示内容
awk '{A[$1]++}END{for(N in A){print N}}' test 
a
b
c

你可能感兴趣的:(shell脚本编程概念,shell)