Я пытаюсь получить возвращаемое значение с помощью 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
Есть ли способ получить одно за другим первое или второе происшествие?
Заранее благодарим за помощь.
$ 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
Глядя наman sensors
Вы можете использовать:sensors -j
Это возвращает данные, отформатированные в формате JSON, которые затем можно проанализировать и обрезать для получения необходимых значений.