#統計第一列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