#!/bin/bash

# 业务知识
# 需要了解netstat命令运行的结果

# 问题提炼:本机3306端口   建立连接(ESTABLISHED)    各个状态的数目

# 思路:结果导向
# awk  $5 ~ /3306/
# 汇总不同的IP   关联数组++时 等于1  total_ip++
# 汇总 $3 ~ /ESTABLISHED/
# 汇总 IP

awk '
    {
        if ($5 ~ /3306/)
            print $5":"$6
    }
' nowcoder.txt |
# 172.16.0.24:3306:ESTABLISHED
awk -F ":" '
    BEGIN{
        total_ip = 0
        es = 0
        total_link = 0
    }
    {
        if (++arr[$1] == 1)
            total_ip++
        if ($3 ~ /ESTABLISHED/)
            es++     
    }
    END{
        print "TOTAL_IP "    total_ip
        print "ESTABLISHED " es
        for (i in arr)
            total_link += arr[i]
        print "TOTAL_LINK " total_link
    }
'

END