Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux bc命令总数_Linux_Bash_Bc - Fatal编程技术网

Linux bc命令总数

Linux bc命令总数,linux,bash,bc,Linux,Bash,Bc,这是我的netstat命令的输出。我想计算第一个字段的总数,如7+8+1+1+1+1+1+3+1+2..等等…如何使用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

这是我的netstat命令的输出。我想计算第一个字段的总数,如
7+8+1+1+1+1+1+3+1+2..等等…
如何使用
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

你需要用awk获得第一个专栏(你实际上并不需要这个,但我将把它作为我永恒耻辱的纪念碑)

然后再次使用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,但它完成了任务,所以希望这就足够了。

你需要用awk获得第一个专栏(你实际上不需要这个,但我将把它作为我永恒耻辱的纪念碑)

然后再次使用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,但它完成了任务,所以希望这就足够了。

你可能有更好的机会得到答案,你可能有更好的机会得到答案,实际上你不需要先做
awk'{print$1}'。
!你当然是对的。当我在命令行上构建它时,我试图使用bc(并放弃了),但是打印$1被留下了。实际上你不需要先执行
awk'{print$1}'
first.Gah!你当然是对的。当我在命令行上构建它时,我尝试使用bc(并放弃了),但是打印$1被留下了。