我根本不懂 shell 脚本,但我有这个
cat /sys/class/power_supply/BAT0/power_now
这给了我以毫瓦为单位的输出,我想将其格式化为瓦并在手表中使用
watch -t -n 5 cat /sys/class/power_supply/BAT0/power_now
答案1
您可以使用bc
(使用标志进行浮点除法):
echo "$(cat /sys/class/power_supply/BAT0/power_now) / 1000" | bc -l
答案2
您始终可以求助于 awk 来解析文件并执行计算:
awk -F '=' '/POWER_SUPPLY_POWER_NOW/{print $2/1000}' /sys/class/power_supply/BAT0/power_now
这适用于用作列=
的分隔符。典型的 awk 格式是{}
对与 中的模式匹配的行执行操作//
。因此,对于具有 的行 POWER_SUPPLY_POWER_NOW
,取出第 2 列 ( $2
) 并除以 后打印它1000
。
至于这样做watch
,可能有点难用由于报价。我建议将其运行为:
watch "awk -F '=' '/POWER_SUPPLY_POWER_NOW/{print $2/1000}' /sys/class/power_supply/BAT0/power_now"