Найти базовую временную температуру с помощью датчиков и awk

Я пытаюсь получить возвращаемое значение с помощью 2-значной температуры с помощью команды датчиков, которая показывает мне следующее:

датчики coretemp-isa-0000 Адаптер: адаптер ISA Ядро 0: + 40,0 ° C (высокое = + 85,0 ° C, крит. = + 95,0 ° C)
Ядро 8: + 35,0 ° C (высокое = + 85,0 ° C, крит. = + 95,0 ° C)
Ядро 9: + 40,0 ° C (высокое = + 85,0 ° C, крит. = + 95,0 ° C)
Ядро 10: + 38,0 ° C (высокая = + 85,0 ° C, крит. = + 95,0 ° C)

coretemp-isa-0001 Адаптер: адаптер ISA Ядро 0: + 38,0 ° C (высокое = + 85,0 ° C, крит. = + 95,0 ° C)
Ядро 1: + 37,0 ° C (высокое = + 85,0 ° C, крит. = + 95,0 ° C)
Ядро 9: +30.0 ° C (высокая = + 85,0 ° C, критическая = + 95,0 ° C)
Ядро 10: + 31,0 ° C (высокий = + 85,0 ° C, крит = + 95,0 ° C)

С помощью следующей команды я смог получить значения, но мне нужно получать значения одно за другим:

Команда: датчики | awk '{if (match ($ 0, "Core 0")) {printf ("% d", $ 3);}}' Возврат: 4038

Есть ли способ получить одно за другим первое или второе происшествие?

Заранее благодарим за помощь.

0
02.02.2017, 14:34
2 ответа
$ sensors | sed -rn 's/.*Core 0:\s+([^ ]+).*/\1/p'
+40.0°C
+38.0°C

$ sensors | sed -rn 's/.*Core 0:\s+.([0-9.]+).*/\1/p'
40.0
38.0

$ sensors | sed -rn 's/.*Core 0:\s+.([0-9]+).*/\1/p'
40
38
1
28.01.2020, 04:48

Глядя наman sensors

Вы можете использовать:sensors -j

Это возвращает данные, отформатированные в формате JSON, которые затем можно проанализировать и обрезать для получения необходимых значений.

3
04.11.2021, 04:12

Теги

Похожие вопросы