Как извлечь максимальное значение среди значений между двумя словами с несколькими вхождениями из входной строки с помощью сценария оболочки

Если вы можете выполнить source activate myenvв оболочке, то активировать должен файл в $PATH. найти этот файл и указать полный путь. Он должен присутствовать на удаленном компьютере. Или узнать, что делает этот скрипт активации, и просто отправить задания на удаленный компьютер.

0
27.07.2020, 15:33
1 ответ

Предполагая, что каждое устройство может содержать только одно значение «Температуры», и вас интересует только печать максимального значения (, а не соответствующего номера устройства ), вы можете попробовать следующее:

]
awk '$1=="Temperature:" {if ($2>max) max=$2} END{printf("Maximum: %.1f\n",max)}'

При этом будут проанализированы все строки, в которых первое поле ($1), разделенное пробелом -, равно Temperature:, и будет проверено второе поле ($2, которое является числовым значением температуры ). Если это больше максимального значения на данный момент, оно сохраняется в переменной max(, которая ведет себя так, как если бы изначально было равно 0 ).

В конце распечатывается найденный максимум.

5
18.03.2021, 23:16

Теги

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