八、awk中使用的数组
1、数组
array[index-expression]
index-expression可以使用任意字符串;需要注意的是,如果某数据组元素事先不存在,那么在引用其时,awk会自动创建此元素并初始化为空串;因此,要判断某数据组中是否存在某元素,需要使用index in array的方式。
1
# netstat -ant | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
2、要遍历数组中的每一个元素,需要使用如下的特殊结构
for (var in array) { statement1, ... }
其中var用于引用数组下标,而不是元素值
3、删除数组变量
从关系数组中删除数组索引需要使用delete命令。使用格式为
delete array[index]
九、awk的内置函数
1、split(string, array [, fieldsep [, seps ] ])
功能:将string表示的字符串以fieldsep为分隔符进行分隔,并将分隔后的结果保存至array为名的数组中;数组下标为从0开始的序列;
2、length([string])
功能:返回string字符串中字符的个数;
3、substr(string, start [, length])
功能:取string字符串中的子串,从start开始,取length个;start从1开始计数;
4、system(command)
功能:执行系统command并将结果返回至awk命令
5、systime()