2012-10-04 41 views
1

我使用TMUX的管窗格來記錄我在做什麼,我想分析並採取帳戶我打字等的命令但當我得到了xxx.log文件,用vim打開一看,我發現有很多特殊的字像^ H,^ M,^ g等,看樣:卸下顯示控制碼

[email protected]:~$ echo "hello,world[K[K[K[K[K[K[K[K[K[K" 
h 
[email protected]:~$ ^G^G^G^G 
[email protected]:~$ 

我知道TMUX記錄一切我打字,但有些帶有Ctrl/Alt前綴的鍵無法顯示,我想忽略它們。我如何使用perl/python或C將任何提示歸檔?

回答

1

在一般情況下,這很難,因爲有些程序大量使用顯示控制代碼來繪製對話框等。如果您只想刪除任何單獨的不可打印字符,使用tr很容易,但如果要刪除顯示控制代碼也顯得更加複雜,並且基本上需要知道您正在使用哪個終端仿真器。一種可能的目標是xterm,但我不知道剝xterm顯示代碼的任何關閉的,現成的解決方案。

+0

下面是Google的一個切線示例:http://www.pixelbeat.org/scripts/ansi2html.sh – tripleee

+0

呵呵,http://unix.stackexchange.com/questions/14684/removing-control-chars-包括控制檯碼-顏色-從腳本輸出 – tripleee

+0

非常感謝,我有一個更簡單的方法,該方法貓xxx.log在終端顯示的內容,然後選擇所有的緩衝器然後將它們複製到文件中,所以問題解決了,雖然它不是很聰明。 – liunx