Как вывести определенную переменную из вывода команды с помощью grep

Как вывести определенную переменную из вывода команды с помощью grep

файл test.txt:

Ext Temperatur:  210.0°
Avg.Speed(All):    62.89mm/s
Avg.Speed(Print):  49.99mm/s
Avg.Speed(Travel): 199.84mm/s
Overall Time (w/o Acceleration): 11:00:41 (39640.65sec)

Как я могу получить 39640.65secи распечатать 39640.65выходные данные grepс помощью PHP-кода?

Я использую этот код, но он печатает, например:11:00:41 (39640.65sec)

<?php
$gcode_new = "grep -Po '(?<=Overall Time \(w/o Acceleration\):   ).*' test.txt";

include('Net/SSH2.php');

$ssh = new Net_SSH2('XXX.61.XXX.227');
if (!$ssh->login('root', 'PASS')) {
    exit('Login Failed');
}
$target = $ssh->exec($gcode_new);

echo $target ;
?>

решение1

Вы можете попробовать это:

grep -Po "[.0-9]*(?=sec\))"

Выход:

39640.65

решение2

Если в файле встречается несколько строк:

Используйте это, чтобы получить первое вхождение в файле:

grep -m1 -Po "[.0-9]*(?=sec\))" testing.txt

Чтобы получить последнее вхождение в файле:

grep -Po "[.0-9]*(?=sec\))" testing.txt | tail -1

Связанный контент