sha*_*ond 15 linux terminal gnu-screen
是否可以删除 GNU Screen 输出文件中的 ESC 序列?诸如颜色、制表符和其他转义字符之类的内容会进入日志文件并变得难以破译。
我试过 Dr. Google & Co. 以及阅读手册,但一直找不到合适的东西......
也许我忽略了什么?
whi*_*ark 12
试试这个 Perl 魔法:
perl -ne 's/\x1b[[()=][;?0-9]*[0-9A-Za-z]?//g;s/\r//g;s/\007//g;print' < screenlog.0
Run Code Online (Sandbox Code Playgroud)
小智 10
使用ansifilter。
ansifilter screenlog.txt > screenlog.txt.clean
Run Code Online (Sandbox Code Playgroud)
在 screenlog.n 中捕获会话后,您可以将文件 cat 到终端,然后使用 screen 的 hardcopy 命令将 cat 的输出转储到 file 。结果将为您提供没有任何转义序列的干净输出。
唯一的“问题”似乎是确保硬拷贝捕获回滚缓冲区中的所有内容,并且回滚缓冲区仅包含您想要捕获的内容。
1. $ screen
2. $ cd /path/to/screenlog.n directory/
3. $ wc -l screenlog.n
4. $ screen -X scrollback 245 # 245 is the number of lines found from your wc command + 5
5. $ cat screenlog.n
6. $ screen -X hardcopy -h screenlog.n.cleaned
Run Code Online (Sandbox Code Playgroud)
请注意, -h 可确保您捕获整个回滚历史记录,而不仅仅是即时视图中的内容
screenlog.n.cleaned 文件现在将包含 cat 输出的硬拷贝,并且不会包含任何转义序列
归档时间: |
|
查看次数: |
9601 次 |
最近记录: |