MacBook のバッテリー充放電回数を CUI で取得
- Date
- 2015-03-27 22:14
- category
memo
- slug
battery-cycle-count-for-macbook
- lang
ja
バッテリーの充放電回数は MacBook のバッテリー劣化を図る指標で
Mac ノートブック:バッテリーの充放電回数を確認する には
/Applications/Utilities/System Information.app
による充放電回数の値の確認方法と、各世代の MacBook 最大充放電回数の表が掲載されています。
いちいちアプリケーションを開いて確認するのも面倒なので CUI のスクリプトで取得してみました。
System Information.app で取得できる情報は system_profiler(8) で取得できます。
手っ取り早く取得するならこんなワンライナー。
$ system_profiler SPPowerDataType | awk -F: '/Cycle Count/ { print $2 }'
もう少しきちんと xml 出力して xpath
でパースすることも。
$ system_profiler SPPowerDataType -xml | xpath '/plist/array/dict/key[.="_items"]/following-sibling::*[1]/dict/key[.="sppower_battery_health_info"]/following-sibling::*[1]/key[.="sppower_battery_cycle_count"]/following-sibling::*[1]/text()' 2>/dev/null
複雑すぎですね。plist xml の要素取り出しは plutil
で単純化できます。
$ system_profiler SPPowerDataType -xml | plutil -extract '0._items.0.sppower_battery_health_info.sppower_battery_cycle_count' xml1 -o - - | xpath '/plist/integer/text()' 2>/dev/null
plist xml を plutil
で簡単に扱えます。まるで json を jq で扱うようです。
ちなみに私の環境だと MacBook Pro (Retina, 13-inch, Late 2013) で購入後276日経過時点で396回でした。このペースだと、だいたい2年程度で最大充放電回数とされる1000回に達しそう。