Shell
螢幕記錄 - 如何省略互動式外殼控製字元和提示?
我的第一個問題之一。如果需要進一步的解釋或資訊,或者問題不應該在這裡,請發表評論
我正在使用螢幕自動啟動伺服器(本例中為 minecraft 伺服器)。
我正在產生一個像
screen -S 'server_1' -d -m "java -Xmx4G -Xms4G -jar spigot.jar"
然後設置日誌文件並啟用日誌記錄
screen -S 'server_1' -X logfile /srv/serverinstalls/1/stdout.txt screen -S 'server_1' -X log
然後通過 NodeJS 讀取 stdout.txt 的內容。
“cat stdout.txt”的輸出看起來不錯,但如果我用“less stdout.txt”查看文件,每行都以
>ESC[2K^M
其中 ^M 和 ESC 是控製字元(^M 是 \r 字元)我認為這是螢幕記錄伺服器提供的互動式 shell 的提示(以“>”開頭)的方式
是否有某種方式可以將螢幕命令配置為省略這些控製字元而不記錄 shell 的互動部分?
如果需要,我可以在每次讀取日誌文件時執行其他命令,或者使用 NodeJS 以某種方式替換不需要的字元,但每個伺服器上的提示看起來並不相同。
我在螢幕 4.05.00 的 Debian 9.9 (stretch) 上執行
有沒有試過下面的人?
ansifilter less -r strings