Awk
这个来解释下
ss -n |awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'
-
/^tcp/正则表达式,匹配行首以tcp开始 -
NF列数 -
$NF最后一列的值,一般是IP地址 -
S[$NF]下标为具体IP地址的数组,值是数量 -
++$[$NF]会把每个IP出现的次数统计出来 -
for (a in S)这里a取得是S这个数组的下标,就是IP -
S[a]也就是统计的数量
这个来解释下
ss -n |awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'
/^tcp/ 正则表达式,匹配行首以tcp开始
NF 列数
$NF 最后一列的值,一般是IP地址
S[$NF] 下标为具体IP地址的数组,值是数量
++$[$NF] 会把每个IP出现的次数统计出来
for (a in S) 这里a取得是S这个数组的下标,就是IP
S[a] 也就是统计的数量