如何计算列中的字节总和?

如何计算列中的字节总和?

我有下表,如何计算仅 11 月份记录的字节总和?例如下面我想查找 11 月的行,然后将第 4 列中与 11 月相关的数字相加?我怎样才能做到呢?

1 arnold   user   1933 Nov  7 13:05 
2 megan   user  10809 Nov  7 13:03 
3 sam   user    983 Apr 13 12:14 
4 mark   user  31869 Jun 15 12:20 
5 sandy   user  22414 Nov  7 13:03 
6 semon   user  37455 Nov  7 13:03 
7 andre   user  27511 Dec  9 13:07 
8 jim   user   7989 Nov  7 13:03 

答案1

您可以尝试awk如下:

awk '$5 == "Nov" { sum += $4 }END { print sum }'  file
80600

$5 代表与月份相关的列。$5 == "Nov"将过滤表中 11 月份的所有记录,然后awk对 $4 列中的数字求和

答案2

使用 awk:

awk 'BEGIN {sum = 0}
$5 == "Nov" {sum += $4}
END {print sum}' < data

data包含该记录的文件在哪里。

答案3

为了使您能够简单地更改目标月份,请尝试对数组中的所有月份求和,并仅打印相关的数组元素:

awk '{SUM[$5] += $4} END {print SUM["Nov"]}' file
80600

相关内容