4.5 awk数组
❤统计日志:
❤统计次数:统计每个ip出现次数,统计每种状态码出现次数,统计系统中每个用户被攻击次数,统计攻击者IP出现次数
❤累加求和:统计每个IP消耗的流量
shell数组 | awk数组 | ||
形式 | array[0]=old array[1]=lili | array[0]=old array[1]=lili | |
使用 | echo ${array[0]} ${array[1]} | print array[0] array[1] | |
批量输出数组内容 |
for i in ${array[*]} do echo $i done |
for(i in array) print array[i] |
awk数组专用循环,变量获取到的是数组的下标,你想要数组内容的话--> a[i] |
###awk数组专用循环
案例
####处理以下文件内容,将域名取出并根据域名进行计数排序处理
###统计access.log中ip出现次数
4.6 for循环
for n in 1 2 3
do
echo $n
done
shell编程c语言for循环 | awk for循环 | |
for((i=1;i<=10;i++)) do echo $i done |
for(i=1;i<=10;i++) print i |
awk for循环用来循环每个字段 |
###1+2+...+100
4.7 if判断
shell if 判断 | awk if | |
if ["old" -eq 18];then echo take to dbj fi |
if(条件) print "dbj" |
常用 |
if["old" -eq 18];then echo take to dbj else echo "rest" fi |
if() print "dbj" else print "rest" |
|
###统计磁盘空间使用率,如果大于70%,则提示磁盘空间不足,并显示磁盘分区,磁盘使用率,磁盘挂载点
4.9)总结
gawk gnu awk
awk选项 -F -V
awk执行流程
awk取行与取列:指哪打哪
awk模式:正则,范围,特殊模式
awk数组:统计分析日志
awk for if
man awk /info awk