Por favor, leia, compreenda e reconheça esta pergunta:
Does the
ioreg -c AppleBluetoothHIDKeyboard
command output only that one line, or does it also output other lines (that contain numbers)?
Como você deseja a saída Keyboard Battery: 17
,
que nenhuma das respostas postadas até agora
vai produzir, você pode
Construa na resposta de jehad :
Se o comando ioreg
gerar apenas a linha BatteryPercent
,
echo "Keyboard Battery: $(ioreg -c AppleBluetoothHIDKeyboard | grep -oE '[0-9]+')"
Mas se, como suspeito, o comando ioreg -c AppleBluetoothHIDKeyboard
gera outras linhas (que contêm números),
além da linha "BatteryPercent" =
,
então o comando acima irá também produzir muitas outras linhas com números.
Se, como você implicitamente confirmou,
o comando ioreg
gera outras linhas (que contêm números) e, em seguida,
echo "Keyboard Battery: $(ioreg -c AppleBluetoothHIDKeyboard | grep BatteryPercent | grep -oE '[0-9]+')"
resposta revisada de jehad pode funcionar
se o comando ioreg
gerar apenas a linha BatteryPercent
,
embora possa exigir pequenas alterações.
Construa em a resposta de Buffalo Rabor :
A resposta revisada de Buffalo Rabor funcionará
com a condição de incluir parênteses explícitos na saída.
Mas isso pode ser simplificado - você quase nunca precisa canalizar grep
para awk
:
ioreg -c AppleBluetoothHIDKeyboard | awk '/BatteryPercent/ {print "Keyboard Battery: "$7}'
P.S.
Eu também não tenho Mac então eu não posso ter certeza do que vai funcionar para você e o que não vai.