Sensors

僅從感測器獲取溫度核心

  • June 12, 2020

我正在嘗試僅檢索 4 個核心的溫度,以將它們顯示到我的終端中(我需要將它們分開)。

我的原始輸出是:

(OC) √ ~ $ sensors                                                                                            ~ 9:24:24
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +68.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:        +66.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:        +65.0°C  (high = +100.0°C, crit = +100.0°C)
Core 2:        +64.0°C  (high = +100.0°C, crit = +100.0°C)
Core 3:        +66.0°C  (high = +100.0°C, crit = +100.0°C)

BAT0-acpi-0
Adapter: ACPI interface
in0:          12.98 V  
curr1:       1000.00 uA 

dell_smm-virtual-0
Adapter: Virtual device
fan1:        3757 RPM

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8°C  (crit = +119.0°C)

我嘗試使用 awk,但還不夠,我不知道如何檢索 temp 並將它們分開以獲得如下結果:

Core n°1 : 63°C         Core n°2 : 64°C         Core n°3 : 67°C         Core n°4 : 85°C

嘗試這個,

sensors | awk -F '(' '/^Core/{gsub("[[:space:]]+"," "); printf "%s\t", $1}'
  • (作為欄位分隔符
  • /^Core/僅提取以“核心”開頭的行
  • gsub("[[:space:]]+"," ");根據預期結果將多個連續空格替換為單個空格
  • "%s\t",使用製表符分隔符將所有結果列印在同一行中。

引用自:https://unix.stackexchange.com/questions/592439