Menggunakan bash / terminal untuk mendapatkan jumlah siklus pengisian baterai

25

Saya ingin mendapatkan jumlah siklus isi ulang menggunakan bash (perintah terminal). Saya mengerti perintah berikut akan menampilkan semua data baterai, tetapi saya ingin siklus menghitung sendiri

ioreg -l -w0 |grep Capacity

Saya menggunakan perintah berikut untuk mendapatkan persentase baterai, jadi saya membayangkan itu dapat dimodifikasi sedikit untuk mendapatkan jumlah siklus sebagai gantinya;

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

Saya baru mengenal bash, jadi saya tidak sepenuhnya yakin bagaimana kode itu bekerja, atau bagaimana saya menyesuaikannya untuk kebutuhan saya.

Bantuan apa pun akan dihargai. Terima kasih.

Yusuf
sumber

Jawaban:

38

Sesuatu seperti

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

harus melakukan pekerjaan.

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

akan memberi Anda kondisi baterai.

Matthieu Riegler
sumber
1
Bagaimana dengan kondisi baterai?
BenSmith
5
@BenSmith system_profiler SPPowerDataType | grep "Condition" | awk '{print $2}'akan memberimu kondisi baterai
joni