如何使用 grep 從命令的輸出列印特定變數

如何使用 grep 從命令的輸出列印特定變數

測試.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)

如何使用php 程式碼取得39640.65sec39640.65作為輸出並進行列印?grep

我正在使用這段程式碼,但它會列印例如: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

相關內容