Jämföra en serie av tal med varandra, helst bash/awk

Här diskuteras programmering och utveckling
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

Jämföra en serie av tal med varandra, helst bash/awk

Inlägg av Pinky »

Hej,

Läs min andra post, den första blev nog lite krånglig :P

Jag håller på med ett litet projekt som går ut på att polla ett antal NTP-servrar i ett större nät och sedan jämföra tiden på de olika servrarna. Om någon server diffar för mycket från de andra så ska en administratör underrättas.
Mitt problem är att det här ska snurra på en specialanpassad freebsd-dist där jag i stort sett bara har tillgång till Bash och awk. (Ingen java, ingen python.) Eftersom jag har lite tidspress och inte har någon större vana av C/C++ så har jag börjat så smått i bash iaf.

Jag kan polla NTP-servrarna och få en lista på hur mkt de diffar i tid från den lokala klockan (via ntpq -p och lite awk). Mitt problem är hur jag ska jämföra talen. Jag får en lista på tidsdifferenser, tex -3, 2, 5 -125. (Det finns decimaler också, men dem struntar jag i, eftersom vi snackar bash här ;)
Nu vill jag få fram den felande servern (den som ger -125 i mitt exempel), men jag vill göra det genom att jämföra resultaten från servrarna och inte den lokala klockan. Jag antar att det är någon form av medianvärde jag är ute efter. Alla som ligger inom ett 60s område är OK, men de som diffar mer vill jag plocka ut.

Det blev mkt text, ni får be mig förtydliga om det blev krångligt ändå :P

Mvh
Martin
Senast redigerad av 1 Pinky, redigerad totalt 29 gånger.
Anledning: klarifikation
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

Re: Jämföra en serie av tal med varandra, helst bash/awk

Inlägg av Pinky »

OK, jag försökte precis läsa min egna röra. Jag gör ett nytt försök:

Jag får ett antal värden. Jag vet aldrig vilka tal jag kommer att få, men jag vet att nästan alla kommer att diffa max 10 från högsta till lägsta. Jag vill få fram de tal som ligger utanför det spannet.

Om jag kan få mitt huvud runt hur man enklast löser det matematiskt så borde jag kunna programmera det :)
Hoppas det blev enklare 8)

Mvh
Martin
andol
Inlägg: 3093
Blev medlem: 31 dec 2007, 00:19
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur

Re: Jämföra en serie av tal med varandra, helst bash/awk

Inlägg av andol »

Utanför ämnet: Låter som något det redan torde finnas färdiga Nagios-plugins för?
Användarvisningsbild
ozzle
Inlägg: 8
Blev medlem: 27 jul 2010, 18:41
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu

Re: Jämföra en serie av tal med varandra, helst bash/awk

Inlägg av ozzle »

Låt mig se om jag förstått detta rätt.
Du vill ta fram de tal som INTE ligger inom intervallet (x-10,x] där x är det största talet i mängden? Det löser du ju lätt med en liten if-sats.
Skriv svar

Återgå till "Programmering och webbdesign"