Como calcular a soma de bytes em uma coluna?

0

Eu tenho esta tabela abaixo, como posso calcular a soma de bytes para registros somente em novembro? por exemplo abaixo eu quero encontrar linhas em novembro, em seguida, somar os números na coluna 4 relevantes apenas para novembro? como eu posso fazer isso?

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 
    
por Kenan 07.10.2018 / 16:23

3 respostas

3

Você pode tentar awk da seguinte forma:

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

$ 5 representam a coluna relevante para meses. $5 == "Nov" filtrará a tabela para todos os registros em novembro e, em seguida, awk somará os números na coluna $ 4

    
por 07.10.2018 / 16:30
2

Usando o awk:

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

em que data é seu arquivo que contém o registro.

    
por 07.10.2018 / 16:30
0

Para permitir que você altere o mês de destino simplesmente, tente somar todos os meses em uma matriz e imprima apenas o elemento da matriz relevante:

awk '{SUM[$5] += $4} END {print SUM["Nov"]}' file
80600
    
por 10.10.2018 / 15:55

Tags