我正在終端上運行一個應用程序(CoronaSDK Simulator),該程序在每行輸出前都提供了一個非常長的時間戳。我該如何重寫程序的終端輸出
有沒有一種方法可以像sed一樣將它切掉,而是在輸入時輸出其他所有內容(即不必等到程序結束)?
我已經試過幾件事,但有沒有運氣那麼遠,
下面是一些示例行:
2013-02-14 12:39:49.028 Corona Simulator[40803:707] |timer created
2013-02-14 12:39:49.029 Corona Simulator[40803:707] __in deck.lua__
2013-02-14 12:39:49.030 Corona Simulator[40803:707] storyboard.roomData.layout=A1 (room.lua)
,我要這個樣子:
|timer created
__in deck.lua__
storyboard.roomData.layout=A1 (room.lua)
我已經試過
coronasim ./ | sed 's/Corona Simulator//'
作爲測試,並
coronasim ./ | sed -e 's/^.* //'
如下建議,甚至
coronasim ./ > /dev/null
但似乎沒有任何改變輸出。
的解決方案是這樣的:
coronasim ./ 2>&1 | sed -e 's/^.*] //'
按以下choroba的建議。似乎Corona SDK模擬器將輸出發送到stderr而不是stdout。
以及其它任何人有興趣,創建運行在模擬器現任所長方案,剝離出的時間戳一個簡單的bash腳本:
/Applications/CoronaSDK/Corona\ Simulator.app/Contents/MacOS/Corona\ Simulat
or ./ 2>&1 | sed -e 's/^.*] //'
如果我們看到一些示例輸出以及您試過的東西,我們可以提供幫助:) – squiguy 2013-02-14 08:47:27