Como somar todos os números contidos num arquivo texto

Publicado por Fábio Berbert de Paula em 12/06/2017

[ Hits: 9.161 ]

Blog: https://fabio.automatizando.dev

 


Como somar todos os números contidos num arquivo texto



Dado um arquivo texto com um número por linha, quero como resultado a soma de cada linha.

Conteúdo do arquivo:

65
43
58
48
23
5
24
10
41
93
86
20
70
30
94
90
96
35
34
71
18
61
87
8
32
37
99
45
13
44

Para somar os números usaremos os comandos paste e bc:

paste -sd+ arquivo | bc
1480

Onde:
  • -s significa processar o arquivo serialmente
  • -d+ significa adicionar o delimitador "+" entre cada uma das linhas
  • bc é nossa calculadora em modo texto

Para maiores informações, consulte:

man paste
$ man bc


Outras dicas deste autor

Controlar multimídia via linha de comando (Spotify, Netflix, YouTube etc)

Como encerrar um script Python (exit)

Automatizando o processo de backup do MySQL

Escolhendo o modo de inicialização do Netscape

Converter vídeos para formato suportado no WhatsApp

Leitura recomendada

Tornando seus scripts amigáveis (executáveis)

Shell script no logon do openSUSE 11.3 para definir profile com configurações do wine e atalhos

Imprima textos inteiros com o comando "echo"

Fita DAT Linux: formatar e gravar

Goosh.org, um shell Google

  

Comentários
[1] Comentário enviado por SMarcell em 13/06/2017 - 14:01h

Contribuindo com a dica.

# Com o Sed (não é lá muito elegante... rsrsrs)

$ sed ':a;N;$!ba;s/\n/+/g' arquivo | bc
1480

# AWK

$ awk '{ soma += $0 } END { print soma }' arquivo
1480



Contribuir com comentário