1 获取网络连接数状态

netstat -n |awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

统计nginx日志单ip访问请求数排名(一般单个IP访问数量过百,就值得怀疑了,如果短时间内上万PV访问,说明就不正常了,可以采取相应的处理手段。)

第一种方法:

awk '{++S[$1]} END {for(a in S) print a,S[a]}' jlc.access.log|sort -rn -k2|head

第二种方法:

awk '{print $1}' jlc.access.log |sort|uniq -c|sort -rn|head

第三种方法:

sed 's/- .*//g' jlc.access.log |sort|uniq -c|sort -rn -k1|head

取出linux中eth0的IP地址

第一种方法:

ip a|grep eth0|grep inet|awk '{print $2}'|awk -F / '{print $1}'

第二种方法:

ifconfig eth0|grep 'inet addr'|awk '{print $2}'|awk -F : '{print $2}'

第三种方法:

ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}'

第四种方法:

ifconfig eth0 |awk -F '[ :]+' 'NR==2 {print $4}'

统计服务器当前单IP连接数最大的IP地址前十

第一种方法:

awk -F '[ :]+' '{++S[$6]} END {for(a in S) print a, S[a]}' netstat.log |sort -rn -k2|grep -Ev "Foreign"|head

第二种方法:

netstat -an|grep ES|awk -F '[ :]+' '{++S[$6]} END {for(a in S) print a, S[a]}'|sort -rn -k2|head

将域名取出并根据域名进行计数排序处理

[root@zabbix-server tmp]# more a.txt 

http://www.jlcd.org/index.html

http://www.jlcd.org/1.html

http://post.jlcd.org/index.html

http://mp3.jlcd.org/index.html

http://www.jlcd.org/3.html

http://post.jlcd.org/2.html

第一种方法:

[root@zabbix-server tmp]# awk -F '[/:]+' '{print $2}' a.txt |sort|uniq -c

      1 mp3.jlcd.org

      2 post.jlcd.org

      3 www.jlcd.org

第二种方法:

[root@zabbix-server tmp]# cut -d '/' -f 3 a.txt|sort|uniq -c 

      1 mp3.jlcd.org

      2 post.jlcd.org

      3 www.jlcd.org

第三种方法:

[root@zabbix-server tmp]# awk -F / '{print $3}' a.txt |sort|uniq -c

      1 mp3.jlcd.org

      2 post.jlcd.org

      3 www.jlcd.org

第四种方法:

[root@zabbix-server tmp]# sed 's/^htt.*\/\///g' a.txt |awk -F / '{print $1}'|sort|uniq -c

      1 mp3.jlcd.org

      2 post.jlcd.org

      3 www.jlcd.org

第五种方法:

[root@zabbix-server tmp]# sed 's/htt.*\/\///g' a.txt |sed 's/\/.*html$//g'|sort|uniq -c

      1 mp3.jlcd.org

      2 post.jlcd.org

      3 www.jlcd.org

第六种方法:

[root@zabbix-server tmp]# cat a.txt |tr \/ '\n'|grep jlcd|sort|uniq -c 

      1 mp3.jlcd.org

      2 post.jlcd.org

      3 www.jlcd.org

第七种方法:(sed+完全正则匹配)

[root@zabbix-server tmp]# sed  's#^.*//\(.*jlcd.*\)/.*html#\1#g' a.txt|sort|uniq -c

      1 mp3.jlcd.org

      2 post.jlcd.org

      3 www.jlcd.org

第八种方法: 

[root@zabbix-server tmp]# sed -r 's#^.*//(.*jlcd.*)/.*html#\1#g' a.txt|sort|uniq -c     #sed -r 使用扩展正则表达式 不需要转义了 可以sed --help查看

      1 mp3.jlcd.org

      2 post.jlcd.org

      3 www.jlcd.org

第九种方法:(awk数组)

[root@zabbix-server tmp]# cut -d '/' -f 3 a.txt |awk '{++S[$1]} END {for (a in S) print a,S[a]}'  

mp3.jlcd.org 1

post.jlcd.org 2

www.jlcd.org 3

第十种方法:(利用AWK数组综合解决方法)

[root@zabbix-server tmp]# awk -F / '{++S[$3]} END {for (a in S) print a,S[a]}' a.txt  

mp3.jlcd.org 1

post.jlcd.org 2

www.jlcd.org 3