Linux bc命令总计数

时间:2013-01-16 21:23:22

标签: linux bash bc

这是我的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

1 个答案:

答案 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,但它可以完成工作,所以希望这已经足够了。