1

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

1 回答 1

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

于 2013-01-16T21:36:51.250 回答