← Back to team overview

sslug-teknik team mailing list archive

Re: Opsummering af data fra RRD ?

 

"Brian Ipsen" <bipsen@xxxxxxxxxx> writes:

> Nu er sagen så den, at jeg skal have lagt alle værdierne sammen - men 
> hvordan pokker for jeg gjort det ? Jeg kan godt skrue en løkke sammen, som 
> "spiser" en linie ad gangen fra outputtet - men jeg er ikke klar over 
> hvordan jeg får lagt tal sammen, som er udskrevet som et tal gang 10 i n'te 
> potens - er det noget, som awk kan hjælpe med ?

perl kan (dohhhh):

  perl -lnaF: -e '$sum += $F[1]; END {print $sum}'

Forklaring:

  -l slå når line ending-mode til. Primært fo rat undgå at skulle
     sætte et \n ved udskrivningen.

  -n får perl til at læse en linje ad gangen og udføre scriptet.

  -a slå autosplit-mode til så hver linje automatisk bliver splittet
     op og lagt i arrayet @F

  -F: får perl til at splitte på ':' istedet for mellemrum (egenligt
      unødvendigt her...)

  -e angiver selve scriptet

  '$sum += $F[1]' summerer op over anden kolonne.

  'END { print $sum }' får perl til at udskrive summen tilsidst.

Hele håndteringen af E-notation klarer perl helt automagisk.

-- 
 Peter Makholm     |               Vi smider blade allesammen - hele tiden
 peter@xxxxxxxxxxx |                      som et konstant spirende efterår
 http://hacking.dk |                 Og hele tiden vokser nye frugter frem
                   |                  og vi finder nogen til at plukke dem
                   |                            -- Tilt, Perkussive popler


Follow ups

References