Cómo imprimir una variable específica a partir de la salida de un comando usando grep

Cómo imprimir una variable específica a partir de la salida de un comando usando grep

Archivo prueba.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)

¿Cómo puedo tomar 39640.65secy 39640.65como resultados usando grepe imprimir con código php?

Estoy usando este código pero imprime, por ejemplo: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 ;
?>

Respuesta1

Puedes probar esto:

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

Producción:

39640.65

Respuesta2

Si aparecen varias líneas en el archivo:

Utilice esto para obtener la primera aparición en el archivo:

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

Para obtener la última aparición en el archivo:

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

información relacionada