
Eu não conheço nenhum script de shell, mas tenho isso
cat /sys/class/power_supply/BAT0/power_now
o que me dá a saída em miliwatts, que eu gostaria de formatar como watts e usar no relógio
watch -t -n 5 cat /sys/class/power_supply/BAT0/power_now
Responder1
Você pode usar bc
(com a flag para fazer divisão de ponto flutuante):
echo "$(cat /sys/class/power_supply/BAT0/power_now) / 1000" | bc -l
Responder2
Você sempre pode recorrer ao awk para analisar arquivos e realizar cálculos:
awk -F '=' '/POWER_SUPPLY_POWER_NOW/{print $2/1000}' /sys/class/power_supply/BAT0/power_now
Isso funciona =
como separador de colunas. O formato típico do awk é executar ações em {}
linhas que correspondam ao padrão em //
. Então, para a linha que possui POWER_SUPPLY_POWER_NOW
, retire a coluna 2 ( $2
) e imprima após dividir por 1000
.
Quanto a fazer isso com watch
, pode ser um pouco difícil de usardevido a citações. Eu sugiro executá-lo como:
watch "awk -F '=' '/POWER_SUPPLY_POWER_NOW/{print $2/1000}' /sys/class/power_supply/BAT0/power_now"