Как редактировать вывод "tail"? - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь создать веб-индикатор выполнения для MakeMKV.

run # tail -f /disc_progress

Я получаю результат в виде файла:

PRGV: 0,0,65536 <= 0% (65536 goal = 100%)
from 0%
PRGV: 716,0,65536
,
PRGV: 13281,13281,65536
,
PRGV: 65042,65041,65536
until 100%
PRGV: 65536,65536,65536 <= 100%

65536 в конце 100%, так что я могу что-то начать. В идеале, я хотел бы заплатить предпоследний, например в PRGV: 65042,65041,65536

Var1 = 65042 and Var2 = 65041

Как мне отключить в начале "PRGV:"? Как мне сократить 65041,65536 в конце, это было бы для меня важной переменной 0% и число посередине (между запятыми (65041)).

это должно быть в переменной php:

echo $Disc_Progress=shell_exec("sudo tail -f / disc_progress");

Ссылка на GitHub FFmpegUI.

Ответы [ 2 ]

0 голосов
/ 05 июня 2019

Я искал это:

<code>$get_progress_value=shell_exec("tail -1  /disc_progress");
$Progress_Array=preg_split('/:|,/',$get_progress_value);

    echo "<pre>";
    print_r($Progress_Array);
    echo "
";

Выход:

Array
(
    [0] => PRGV
    [1] => 120 
    [2] => 536
    [3] => 65536
)
0 голосов
/ 05 июня 2019

Вы можете направить вывод tail -f в команду, которая копирует свой ввод в свой вывод до тех пор, пока не достигнет строки 100%, а затем завершится.

$Disc_Progress=shell_exec("sudo tail -f /disc_progress | sed '/100%/q'");

Строка, которую вы хотите, будет второй последней строкой в ​​$Disc_Progress.

...