内容:日志文件中过滤筛选每一个IP地址访问的次数。
#!/bin/bash
awk '{print $1}' test.log |sort |uniq -c |sort -n |awk '$1>10'
1、awk ‘{print $1}’ test.log
检索test.log日志文件中第一列(默认以空格做分隔符)
2、awk ‘{print $1}’ test.log |sort
检索结果排序,以默认ASCII排序
3、awk ‘{print $1}’ test.log |sort |uniq -c
对排序结果进行汇总,统计每个IP地址出现的次数。
4、awk ‘{print $1}’ test.log |sort |uniq -c |sort -n
对汇总结果进行再排序,按照从大到小顺序。(-n 作用是让系统按数字排序,而不是ASCII排序)
按数据排序:1 2 3 4 11 12 22 33
按ASCII排序:1 11 12 2 22 3 33 4
5、awk ‘{print $1}’ test.log |sort |uniq -c |sort -n |awk ‘$1>10’
汇总结果排序后输出再取首列,过滤出出现次数大于10次的IP地址。