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