У меня есть скрипт, который создает этот вид потока вывода в бесконечном цикле:
m 17:24:34|ethminer Speed 377.61 Mh/s gpu/0 29.01 gpu/1 29.91 gpu/2 30.21 gpu/3 28.71 gpu/4 28.11 gpu/5 27.96 gpu/6 28.71 gpu/7 29.01 gpu/8 28.48 gpu/9 28.86 gpu/10 29.91 gpu/11 29.08 gpu/12 29.68 [A1484+5:R0+0:F0] Time: 04:19
Я хочу извлечь целое число после «Speed», которое в данном случае равно 377.Итак, предположим, что строка называется string:
$string | grep -oP '(?<=Speed).*'
Я получил
377.61 Mh/s gpu/0 29.01 gpu/1 29.91 gpu/2 30.21 gpu/3 28.71 gpu/4 28.11 gpu/5 27.96 gpu/6 28.71 gpu/7 29.01 gpu/8 28.48 gpu/9 28.86 gpu/10 29.91
Я хочу избавиться от конечной строки, выполнив:
$string | grep -oP '(?<=Speed).*' | grep -o -E '[1-9][0-9][0-9]*'
но это регулярное выражение неверно, оно ничего не дает.Как я могу это исправить?
С уважением