这是我的netstat命令的输出。我想计算第一个字段数的总和,如7+8+1+1+1+1+3+1+2..so on...
如何使用bc
或任何其他方法命令对它们进行总计数?
[root@example httpd]# netstat -natp | grep 7143 | grep EST | awk -F' ' '{print $5}' | awk -F: '{print $1}' | sort -nr | uniq -c
7 209.139.35.xxx
8 209.139.35.xxx
1 209.139.35.xxx
1 209.139.35.xxx
1 208.46.149.xxx
3 96.17.177.xxx
1 96.17.177.xxx
2 96.17.177.xxx
答案 0 :(得分:1)
你需要用awk获得第一列(你实际上并不需要这个,但我将它留作我永恒耻辱的纪念碑)
awk {'print $1'}
然后再次使用awk对数字列求和并打印结果
awk '{ sum+=$1} END {print sum}'
所有在一起:
netstat -natp | grep 7143 | grep EST | awk -F' ' '{print $5}' | awk -F: '{print $1}' | sort -nr | uniq -c | awk {'print $1'} | awk '{ sum+=$1} END {print sum}'
我知道这不会使用bc,但它可以完成工作,所以希望这已经足够了。