Использование bash/терминала для получения количества циклов перезарядки батареи

Я хотел бы получить количество циклов перезарядки с помощью bash (команды терминала). Я понимаю, что следующая команда отобразит все данные о батарее, но я хочу, чтобы количество циклов было само по себе.

ioreg -l -w0 |grep Capacity

Я использую следующую команду, чтобы получить процент заряда батареи, поэтому я думаю, что ее можно немного изменить, чтобы вместо этого получить количество циклов;

ioreg -l | awk '$3~/Capacity/{c[$3]=$5}END{OFMT="%.3f";max=c["\"MaxCapacity\""];print(max>0?100*c["\"CurrentCapacity\""]/max:"?")}'

Я новичок в bash, поэтому я не совсем уверен, как работает этот код и как я могу адаптировать его для своих нужд.

Любая помощь будет оценена по достоинству. Спасибо.

Ответы (2)

Что-то вроде

system_profiler SPPowerDataType | grep "Cycle Count" | awk '{print $3}'

должен сделать работу.

system_profiler SPPowerDataType | grep "Condition" | awk '{print $2}'

даст вам состояние батареи, например: Normal.

Если вы хотите больше вывода, запустите:

system_profiler SPPowerDataType | grep -A3 -B7 "Condition"

чтобы получить что-то похожее на это:

      Charge Information:
          Charge Remaining (mAh): 2405
          Fully Charged: No
          Charging: No
          Full Charge Capacity (mAh): 3816
      Health Information:
          Cycle Count: 187
          Condition: Normal
      Battery Installed: Yes
      Amperage (mA): -2635
      Voltage (mV): 11212
Как насчет состояния батареи?
@BenSmith system_profiler SPPowerDataType | grep "Condition" | awk '{print $2}'расскажет вам о состоянии батареи
К сожалению system_profiler, недоступно в среде безопасной загрузки.
Если у вас возникли проблемы с выполнением этого из терминала в режиме восстановления, просто chroot /Volumes/Macintosh\ HD zshсначала запустите, а затем выполните приведенные выше команды.
system_profiler SPPowerDataType | grep -A3 -B7 "Power"

Я просто делаю это, и это будет делать вещи.