#!/bin/bash # 问题提炼:tcp 各个状态的连接数 按 连接数 降序输出 # 思路: # awk 默认空格分隔的情况下 tcp在$1 状态在$6 # 关联数组 awk ' { if ($1 == "tcp") arr[$6]++ } END{ for (i in arr) print i, arr[i] } ' nowcoder.txt | sort -k2nr # if ($1 == "tcp") 在 awk 中,规定字符串必须用双引号括起来;使用单引号是错误的 # -k 指定哪里排序 # 2 第2列 # n 按数字排序 # r 逆序排序
END