[問題] 如何抓stdout
這是我從網路上學來的,但是似乎不一定管用,
只要是要當"前導程式"抓取一些程式列印出的畫面面,
好比說下面,可以執行dir命令,然後輸出到out,接著再讀取出來
$th = 0;
open out,"dir |";
while (defined($line = <out>))
{
print "[$th]$line\n";
$th++;
}
close(out);
<>
問題是這樣不一定管用...很多程式會列印出的東西(部分部分的),
不是直接給你列印在螢幕,就是莫名其妙既沒有印在螢幕上,
stdout也抓不到.
像我現在要抓mencoder的編碼資訊,就抓不到,我用 > 直接把資訊導到out.txt上,
.
.
.
Pos: 0.0s 1f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
Pos: 0.0s 2f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
Pos: 0.1s 3f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
Pos: 0.1s 4f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
Pos: 0.1s 5f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
Pos: 0.1s 6f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
.
.
.
...代表省略的意思,我需要的
Pos: 0.1s 5f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.000 [0:0]
資訊就是抓不到,有人可以跟我說該怎樣抓 "5f" 中的數值變數
(編碼到第幾張frame的編號), "0%" (進度) , "0.00fps" (編碼目前速度)嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.153.242
推
11/09 02:20, , 1F
11/09 02:20, 1F
推
11/09 02:25, , 2F
11/09 02:25, 2F
→
11/09 02:26, , 3F
11/09 02:26, 3F
→
11/09 02:31, , 4F
11/09 02:31, 4F
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章