comando somar em unix [RESOLVIDO]

1. comando somar em unix [RESOLVIDO]

Felipe Duran de Aquino
Felipe09

(usa Outra)

Enviado em 21/03/2018 - 16:51h

boa tarde

Galera estou precisando de uma ajuda, preciso somar a segunda coluna do arquivo mas somente de uma métrica alguém conhece algum comando?

Ex: soma o 2° campo do arquivo ( EMM_RAID_GSM_2018_03_21.csv) onde a métrica do 1°campo é RAEMM026

arquivo: EMM_RAID_GSM_2018_03_21.csv
conteudo do arquivo: RAEMM032;15756539;ZSLS03;20180320;20180320
RAEMM026;37;ZPAE02;20180320;20180319





  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/03/2018 - 17:14h

Gosto do bc.

Sugestão:

# grep RAEMM026 EMM_RAID_GSM_2018_03_21.csv | cut -d ";" -f 2 | paste -sd+ | bc

3. Re: comando somar em unix [RESOLVIDO]

Felipe Duran de Aquino
Felipe09

(usa Outra)

Enviado em 21/03/2018 - 18:06h

amarildosertorio escreveu:

Gosto do bc.

Sugestão:

# grep RAEMM026 EMM_RAID_GSM_2018_03_21.csv | cut -d ";" -f 2 | paste -sd+ | bc


muito bom obrigado.

Então tbm estava querendo realizar outro filtro mas não estou conseguindo ex:

grep RAEMM026 EMM_RAID_GSM_2018_03_19.csv | awk -f '{if ($5 == "20180120") print ($0) | cut -d ";" -f 2 | paste -sd+ | bc

preciso somar todos de uma determinada data que fica no ultimo campo, que esta errado no meu comando?


4. Re: comando somar em unix [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/03/2018 - 18:11h

Faria assim:

# grep -E '(RAEMM026|20180120)' EMM_RAID_GSM_2018_03_21.csv | cut -d ";" -f 2 | paste -sd+ | bc


5. Re: comando somar em unix [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 21/03/2018 - 23:04h

Felipe09 escreveu:
Então tbm estava querendo realizar outro filtro mas não estou conseguindo ex:

grep RAEMM026 EMM_RAID_GSM_2018_03_19.csv | awk -f '{if ($5 == "20180120") print ($0) | cut -d ";" -f 2 | paste -sd+ | bc

preciso somar todos de uma determinada data que fica no ultimo campo, que esta errado no meu comando?


Segue:
awk -F";" '$1=="RAEMM026" && $5 =="20180120" {SUM+=$2}END {print SUM}' EMM_RAID_GSM_2018_03_21.csv 


Tudo em um só comando, sem redirecionamentos.
Observe que não é necessário o uso do "grep"
O "awk" faz todo o trabalho....

Marcelo Oliver




6. Re: comando somar em unix [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/03/2018 - 23:12h

msoliver escreveu:

Felipe09 escreveu:
Então tbm estava querendo realizar outro filtro mas não estou conseguindo ex:

grep RAEMM026 EMM_RAID_GSM_2018_03_19.csv | awk -f '{if ($5 == "20180120") print ($0) | cut -d ";" -f 2 | paste -sd+ | bc

preciso somar todos de uma determinada data que fica no ultimo campo, que esta errado no meu comando?


Segue:
awk -F";" '$1=="RAEMM026" && $5 =="20180120" {SUM+=$2}END {print SUM}' EMM_RAID_GSM_2018_03_21.csv 


Tudo em um só comando, sem redirecionamentos.
Observe que não é necessário o uso do "grep"
O "awk" faz todo o trabalho....

Marcelo Oliver



Bem mais elegante com o awk.

Melhor resposta.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts