Linux记录-常用统计awk


#统计第一列ip的个数(uniq -c 打印重复行count计数)

cat ip.txt | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 10

#统计tcp连接状态个数

netstat -an | awk '/tcp/{print $6}' | sort | uniq -c

awk '{print $1}' test.txt | sort | uniq -c

#统计第一列ip的个数
awk '{sum[$1]+=1} END {for(k in sum) print k ":" sum[k]}' ip.txt

#统计前三个ip出现次数最多的(k按第一列排序)
sort ip.txt | uniq -c | sort -nr -t ' ' -k 1 | head -n 3

#统计access.log ip数量前10个
awk '{sum[$1]++}END{for(ip in sum) print ip, sum[ip]}' access.log | sort -rn -k 2|head  -n 10
#ip数量大于2的(k按第二列排序)
awk '{sum[$1]++}END{for(ip in sum)if(sum[ip]>2) print ip, sum[ip]}' access.log | sort -rn -k 2
#统计状态码
awk '{sum[$6]++}END{for(status in sum)if(sum[status]>2300) print status, sum[status]}' access.log | sort -rn -k 2
#统计状态码为200的ip个数
awk '{if($6=="200")sum[$1,$6]++}END{for(ip_num in sum)print ip_num,sum[ip_num]}' access.log |sort -rn -k 2|head -5

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM