← Back to team overview

sslug-teknik team mailing list archive

Re: Opsummering af data fra RRD ?

 

"Peter Makholm" <peter@xxxxxxxxxxx> wrote in message 
news:87vfb61ee1.fsf@xxxxxxxxxxxxx...

>> 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.

Det ser jo ud til at løse problemet - i første omgang... Jeg har her i dag 
fået en underlig værdi ud, og besluttede mig for at grave lidt mere i 
det.... Ved at undersøge data fra RRD fik nu nu følgende ud:

1103241000: 9.5200000000e-01
1103241300: nan
1103241600: nan
1103241900: 3.3133333333e+00

Altså er opsummeringen af værdierne nødt til at tage hensyn til, at der kan 
stå "nan" - og i så fald skal den læste værdi formodes at være 0 ..... 
Hvordan fikses det ?

/Brian




Follow ups

References