#!/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

京公网安备 11010502036488号