Console
將 tty 終端輸出轉換為純文字
我想擷取我執行的 Windows 控制台應用程序的文本輸出
wineconsole --backend=curses ...
。該應用程序本身只是使用無聊的標準輸出。不幸的是,wine 對輸出進行了很多轉義,因此在將其重定向到文件時它是無用的。
wineconsole
確實使用環境變數 - 例如,當我設置或TERM
時它的行為有點不同。TERM=vt100``TERM=linux
我想,我正在尋找一個非常基本的
TERM
,根本不進行螢幕清理。或模擬 tty 並將輸出轉換為普通文本的工具。
您可以嘗試設置
TERM=dumb
,這可能會起作用 - 如果wineconsole
不堅持製作全屏顯示。如果不是,如前所述,
script
是解決方案的一部分。這使您可以執行程序,以文本文件的形式透明地收集發送到螢幕的所有數據。理解它是解決方案的其餘部分。如果
wineconsole
只是從左到右/從上到下書寫,則可以過濾掉轉義符(包括顏色)並得到一些有用的純文字。如果它在螢幕上跳躍、顯示表格等,你將無法很好地做到這一點。但是過濾掉逃逸(即使是部分)通常總比沒有好。過濾掉轉義序列的話題偶爾會出現,例如,我可以使用 unix utils 以程式方式將 ANSI 控制程式碼“燒錄”到文件中嗎?
進一步閱讀:
- 3.8. 文本模式程序(CUI:控制台使用者界面) Wine 使用者指南
- script2log 去除 ANSI 轉義序列並減少退格/重擊。