
測試.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.65sec
和39640.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