sh Skript Ausgabe mit 100 multiplizieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
zimon
Beiträge: 181
Registriert: 16.01.2003 17:50:53
Wohnort: Schweiz

sh Skript Ausgabe mit 100 multiplizieren

Beitrag von zimon » 27.09.2005 19:35:42

Ich habe ein loadavg Skript, nun möchte ich aber, dass die Ausgabe in %, also *100 ausgegeben wird.

Kennt sich da jemand aus?

Code: Alles auswählen

#!/bin/sh

#Grabbing 5 minutes average load
cat /proc/loadavg |grep "" |awk '{print $2}'
Wie/was muss ich hier ergänzen?

Danke,
Simon
Debian Sarge Kernel 2.6. (Dual PIII 500Mhz / 768MB RAM, SCSI Hw-Raid5) Apache2, Samba3, Postfix, Bind9, und was so dazu gehört...

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 27.09.2005 20:18:09

hi.

Code: Alles auswählen

load=$(cat /proc/loadavg |grep "" |awk '{print$2}')   
load_percent=$(echo ";$load*100" | bc)
da wir es hier mit kommazahlen zu tun haben, müssen wir bc verwenden (anstatt dem bash-built-in let).
mfg
mauser

zimon
Beiträge: 181
Registriert: 16.01.2003 17:50:53
Wohnort: Schweiz

Beitrag von zimon » 27.09.2005 20:51:05

bc ist auf meinem System leider nicht verfügbar...

gibts keine andere Möglichkeit diese Zahl zu multiplizieren?

bc krieg ich über

Code: Alles auswählen

apt-get install bc
, oder?

Danke für deine Hilfe!
Simon
Debian Sarge Kernel 2.6. (Dual PIII 500Mhz / 768MB RAM, SCSI Hw-Raid5) Apache2, Samba3, Postfix, Bind9, und was so dazu gehört...

Benutzeravatar
Snoopy
Beiträge: 4297
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Beitrag von Snoopy » 27.09.2005 20:52:39

zimon hat geschrieben:[...]bc krieg ich über

Code: Alles auswählen

apt-get install bc
, oder?
Siehe [1]

[1] http://packages.debian.org/stable/math/bc

codi
Beiträge: 120
Registriert: 18.10.2004 20:20:22

Beitrag von codi » 27.09.2005 21:34:59

awk kann doch auch rechnen, nur verwendet es ein , als Dezimalzeichen...

Code: Alles auswählen

cat /proc/loadavg |grep "" | tr . , |awk '{print $2 * 100}'

Gruß
Codi

Antworten