Toon posts:

[unix/linux] optellen lijst gegevens

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo,

ik ben eindelijk zo ver dat ik de Bytes netjes uit een shoutcast log gefiltert heb. Ik krijg nu een mooie lijst met getallen, alleen nu is mijn probleem, hoe tel ik die getallen bij elkaar op ... het liefst door middel van een commando op de console ...

Verwijderd

code:
1
2
$ echo  2+3+4*5 | bc
25

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

code:
1
2
TOTAL=0; for i in $(command dat lijstje getallen produceert); do TOTAL=$[$TOTAL + $i]; done
echo $TOTAL


Als de getallen te groot worden voor bash kan 't volgende ook:
code:
1
2
TOTAL=0; for i in $(command dat lijstje getallen produceert); do TOTAL=$(echo $TOTAL + $i | bc); done
echo $TOTAL

[ Voor 55% gewijzigd door CyBeR op 20-03-2004 17:45 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 20-02 14:16

Kees

Serveradmin / BOFH / DoC
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
int main()
{
        long long total = 0;
        long long counts = 0;
        char buf[1024];
        while (fgets(buf, sizeof(buf), stdin)) {
                counts++;
                total += atoi(buf);
        }
        printf("%lld %lld\n", total,counts);
        return 0;
}

Gooi dat in 'count.c' compileer met
code:
1
gcc -Wall count.c -o count
en pipe het erdoorheen
(dus stel dat die getallen allemaal in getallen.txt staan dan doen je: cat getallen.txt | count)

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan