Shell: Somar uma lista de números

Você tem uma lista de números, um por linha, e precisa somá-los:

$ cat numeros.txt
3
5
7
9
11
13
15

Primeiro, coloque todos em uma única linha:

$ paste -s numeros.txt
3	5	7	9	11	13	15

Agora mude o delimitador (-d) de TAB para “+”, para compor a expressão aritmética de soma:

$ paste -s -d + numeros.txt
3+5+7+9+11+13+15

Agora sim, basta passar a expressão resultante para a calculadora do shell:

$ paste -s -d + numeros.txt | bc
63
This entry was posted in Shell and tagged , , , , . Bookmark the permalink.

3 Responses to Shell: Somar uma lista de números

  1. Sérgio says:

    Aurélio e se quiser usar multiplicação? Eu tentei aqui e não deu certo =/
    Usei o asterisco para fazer o calculo, mas sem sucesso

    • jonatas says:

      Sérgio, não se esqueça que o * em uma linha de comando não significa asterisco e sim TUDO. Portanto, se você quer usa-lo, é necessário escapa-lo. :)

      $ paste -s -d \* numeros.txt

  2. Maicon CAmurça says:

    SHOWWWWWWW!!!

    Vlw … serviu direitinho aqui no meu! ;)

Leave a Reply

Your email address will not be published. Required fields are marked *