awk数组
1.什么是awk数组
数组其实也算是变量,传统的变量只能存储一个值,但数组可以存储多个值
2.awk数组应用场景
通常用来统计、比如:统计网站访问TOP10、网站url访问TOP10等等
3.awk数组统计技巧
1.在awk中,使用数组时,不仅可以使用123…n作为数组索引,也可以使用字符串作为数组索引。
2.要统计某个字段的值,就将该字段作为数组的索引,然后对索引进行遍历。
4.awk数组的语法
array_name[index]=value
awk数组示例
例:统计passwd文件中,各种shell类型的个数
以:为分隔符,第7列就是shell类型,可用$7表示,或用$NF表示
BEGIN{
FS=":"
}
{ #赋值操作
sh[$NF]++ #如果出现相同类型shell就让其加1,出现不同类型的shell就新存一个数组
}
END{ #赋值完成后,需要通过循环的方式将其索引的次数遍历出来
for (item in sh){
print item,sh[item]
}
}
Nginx日志分析
日志格式如下:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_