linux 统计TCP 连接各状态总数

netstat  -n|awk '/^tcp/ {++s[$NF]} END {for(k in s) print k, s[k]}'

以前经常只是从笔记中复制下, 这次打算 研究下 awk 语法 。

下面稍微分析下上面的awk 语句

/^tcp/   正则语法,  以 tcp 开始的行

{++s[$NF]}  s为一个数组,对不同状态求和

{for(k in s) print k, s[k]}   输出s数组

$NF 是 awk  内建变量 这里统计重点。下面说明下这个变量

NF输出每行的字段数

$NF 取得每行相应字段

$1  取得每行第一段数据

本地演示

[root@localhost ~]# cat cc.txt 

1    a    a1

2    b    b2

3    c    c3

[root@localhost ~]# cat cc.txt |awk '{print NF}'

3

3

3

[root@localhost ~]# cat cc.txt |awk '{print $NF}'

a1

b2

c3

[root@localhost ~]# cat cc.txt |awk '{print $3}'

a1

b2

c3

 

了解了 NF, 以后对于这样的统计可以修改NF 这里的达到自己想要的统计

转载于:https://www.cnblogs.com/zxqc/p/10591740.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值