假设您的 sensors
命令输出类似于以下内容:
Copy Codecoretemp-isa-0000
Adapter: ISA adapter
Package id 0: +50.0°C (high = +80.0°C, crit = +90.0°C)
Core 0: +45.0°C (high = +80.0°C, crit = +90.0°C)
Core 1: +48.0°C (high = +80.0°C, crit = +90.0°C)
Core 2: +47.0°C (high = +80.0°C, crit = +90.0°C)
Core 3: +50.0°C (high = +80.0°C, crit = +90.0°C)
acpitz-virtual-0
Adapter: Virtual device
temp1: +27.8°C (crit = +119.0°C)
nouveau-pci-0100
Adapter: PCI adapter
temp1: +35.0°C (high = +95.0°C, crit = +105.0°C)
通过 grep
命令可以筛选出所有包含 Core
的行,并使用 awk
命令提取数字部分,最后使用 awk
计算平均值,具体命令如下:
sensors | grep Core | awk '{print $3}' | awk -F '+' '{sum+=$2} END {print "Average temperature is", sum/NR}'
输出结果如下:
Average temperature is 47.5
这表示 CPU 温度的平均值为 47.5°C。请注意,这个平均值仅基于 sensors
命令输出中包含 Core
的行,不包括其他传感器的数据。