Como somar todos os números contidos num arquivo texto

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

[ Hits: 8.868 ]

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

Gravando arquivos .nrg (do Nero) no Linux

Como gerenciar sua conta Twitter via linha de comando

Como instalar versões antigas de aplicativos no Android

Sintaxe alternativa para encontrar arquivos por data com o comando find

Docker: "ps: command not found" [Resolvido]

Leitura recomendada

who - Comando com exemplos

Criando e utilizando uma "biblioteca de funções"

Alterar a cor que os arquivos são listados no terminal

Problemas de permissões no Nautilus? A solução!

Aulas Shell Script do zero - Parte 5

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts