我试图仅检索 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,但还不够,我不知道如何检索温度并将它们分开以获得如下结果:
Core n°1 : 63°C Core n°2 : 64°C Core n°3 : 67°C Core n°4 : 85°C
答案1
尝试这个,
sensors | awk -F '(' '/^Core/{gsub("[[:space:]]+"," "); printf "%s\t", $1}'
(
作为字段分隔符/^Core/
仅提取以“Core”开头的行gsub("[[:space:]]+"," ");
根据预期结果将多个连续空格替换为单个空格"%s\t",
使用制表符分隔符将所有结果打印在同一行中。