#!/bin/bash

# 问题提炼:3306端口  状态是established  按 连接数 降序排序
# 思路:
# grep 查出状态是established的行
# 第一个awk 默认空格分隔的情况下  打印所有 $5
# 第二个awk 用 : 分隔字符串
#          判断$2等于3306
# 按输出要求,使用关联数组

grep 'ESTABLISHED' nowcoder.txt |
awk '{ print $5 }'  |
awk -F ":" '
    {
        if ($2 == "3306")
            arr[$1]++
    }
    END{
        for (i in arr)
            print arr[i], i
    }
' |
sort -k1nr

# -k  指定哪列排序
# 1  第1列
# n  按数字排序,因为默认是字母排序
# r  逆序排序

END