awk 数组
2023-02-19 本文已影响0人
AibWang
- awk中的数组使用前不需要声明大小,在程序运行时可以自动的增大或减小。
- 数组可以是1维的,也可以是多维的
- 数组的索引可以是数字(类似于标准数组),也可以是字符串(类似于字典,index相当于字典的key)。
数组元素的引用格式:arr[i, j]
1、数组元素的遍历
for(index in arr){conmands;}
2、数组元素的删除
delete arr[index];
二、数组的应用
2.1 利用数组index的唯一性,实现统计
例如:统计一个文件中第2列各值出现的次数
awk '{count[$2]++;} END{for(index in count){print index, count[index];}}' input.txt
例如:统计整个文件中各值出现的次数
awk '{for(i=1;i<=NF;i++>){a[$i]++;} END{for(index in a){print index, a[index];}}}' input.txt
2.2 判断索引是否存在于数组中
if(index in arr){conmands;}
也可以使用非(!
)
if(!(index in arr)){conmands;}