
Ich kenne mich mit Shell-Scripting überhaupt nicht aus, aber ich habe das
cat /sys/class/power_supply/BAT0/power_now
das gibt mir die Ausgabe in Milliwatt, die ich als Watt formatieren und in der Uhr verwenden möchte
watch -t -n 5 cat /sys/class/power_supply/BAT0/power_now
Antwort1
bc
Sie können (mit dem Flag zur Gleitkommadivision) Folgendes verwenden :
echo "$(cat /sys/class/power_supply/BAT0/power_now) / 1000" | bc -l
Antwort2
Sie können zum Parsen von Dateien und Durchführen von Berechnungen immer auf awk zurückgreifen:
awk -F '=' '/POWER_SUPPLY_POWER_NOW/{print $2/1000}' /sys/class/power_supply/BAT0/power_now
Dies funktioniert, indem =
als Spaltentrennzeichen verwendet wird. Ein typisches awk-Format besteht darin, die Aktion {}
für Zeilen auszuführen, die dem Muster in entsprechen //
. Nehmen Sie also für Zeilen mit POWER_SUPPLY_POWER_NOW
die Spalte 2 ( $2
) heraus und drucken Sie sie nach der Division durch 1000
.
Was das mit angeht watch
, kann es ein bisschen schwierig sein, es zu benutzenaufgrund von Zitaten. Ich würde vorschlagen, es so auszuführen:
watch "awk -F '=' '/POWER_SUPPLY_POWER_NOW/{print $2/1000}' /sys/class/power_supply/BAT0/power_now"