首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在保留ANSI控制序列的同时转储GNU屏幕回滚缓冲区?

如何在保留ANSI控制序列的同时转储GNU屏幕回滚缓冲区?
EN

Stack Overflow用户
提问于 2018-06-04 08:13:56
回答 1查看 424关注 0票数 2

在screen会话中,可以通过输入^A:hardcopy -h /path/to/filename将其回滚缓冲区保存到文件中。但是,这会从输出中剥离所有ANSI控制序列。

我想要像less -R这样的东西,但是用来保存回滚缓冲区。

生成彩色文本的示例脚本:

代码语言:javascript
复制
#!/bin/bash
# both times, the word 'red' is printed in bright red text.
printf 'example \x1b[1;31mred\x1b[m output\n' |tee example.log
cat example.log

您还可以使用less -R example.log查看该文件

EN

回答 1

Stack Overflow用户

发布于 2018-06-04 08:38:25

当终端使用ANSI序列时,它不会逐字地将它们存储在内存中,而是转换为在屏幕上显示各个字符的属性。显然,hardcopy不是为输出这些属性而设计的。

但是,如果启用日志记录,您可能会得到所需的内容。例如,请参见this answer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50672106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档