Verwenden von bash/terminal, um die Anzahl der Ladezyklen der Batterie zu erhalten

Ich möchte die Anzahl der Ladezyklen mit Bash (Terminalbefehlen) erhalten. Ich verstehe, dass der folgende Befehl alle Batteriedaten anzeigt, aber ich möchte die Zykluszählung allein

ioreg -l -w0 |grep Capacity

Ich verwende den folgenden Befehl, um den Batterieprozentsatz zu erhalten, also stelle ich mir vor, dass er leicht modifiziert werden kann, um stattdessen die Zykluszahl zu erhalten;

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

Ich bin neu in Bash, daher bin ich mir nicht ganz sicher, wie dieser Code funktioniert oder wie ich ihn an meine Bedürfnisse anpassen würde.

Jede Hilfe wäre willkommen. Vielen Dank.

Antworten (2)

So etwas wie

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

sollte die Arbeit machen.

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

erhalten Sie den Batteriezustand, zum Beispiel: Normal.

Wenn Sie mehr Ausgabe wünschen, führen Sie Folgendes aus:

system_profiler SPPowerDataType | grep -A3 -B7 "Condition"

um etwas ähnliches zu bekommen:

      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
Wie sieht es mit dem Batteriezustand aus?
@BenSmith system_profiler SPPowerDataType | grep "Condition" | awk '{print $2}'zeigt Ihnen den Batteriezustand an
Leider system_profilernicht in der sicheren Boot-Umgebung verfügbar.
Wenn Sie Probleme haben, dies vom Terminal im Wiederherstellungsmodus aus zu tun, führen Sie einfach chroot /Volumes/Macintosh\ HD zshzuerst aus und führen Sie dann die obigen Befehle aus
system_profiler SPPowerDataType | grep -A3 -B7 "Power"

Ich mache das einfach, und es wird die Dinge tun.