#!/bin/sh awk 'BEGIN { status = ""; q_now = 0; q_full = 0; i_now = 1; perc = 0; FS="="; } /POWER_SUPPLY_STATUS/ { status = $2; } /POWER_SUPPLY_CURRENT_NOW=/ { i_now = $2; } /POWER_SUPPLY_CHARGE_NOW/ { q_now = $2; } /POWER_SUPPLY_CHARGE_FULL/ { q_full = $2; } /POWER_SUPPLY_CAPACITY=/ { perc = $2; } END { if (status=="Full"||status=="Unknown") { print status } else { if (status=="Charging") {q = q_full - q_now} else {q = q_now}; h=q/i_now; m=(h-int(h))*60; printf("%s%d%% %dh%02dm\n", substr(status, 0, 1), perc, h, m); } }' \ /sys/class/power_supply/BAT1/uevent