如何轻松地将GNU屏幕回滚缓冲区复制到文件?也就是说,“硬拷贝”命令的功能更强大吗?
在GNU屏幕中,我可以使用“ Ctrl + A Esc”进入滚动缓冲。然后,我可以标记整个缓冲区并使用“ Ctrl + A Ctrl + ]”将其粘贴到Emacs缓冲区中,从而将其保存到文件中。
但是,这很乏味。是否有一个Screen命令可以简单地将回滚缓冲区复制到一个文件中,就像'hardcopy'可以复制屏幕的可见部分一样?]
要将回滚缓冲区的全部内容写入文件,请键入
Ctrl + A和:进入命令模式,然后
hardcopy -h <filename>
在screen
的旧版本中,如果只执行hardcopy -h
,它将仅写入文件-h
。此问题在版本4.2.0中已修复,因此hardcopy -h
写入hardcopy.N
,其中N
是当前窗口号。
按Ctrl + A :bufferfile /tmp/somefile.txt ENTER,然后Ctrl + A >
这会将缓冲区的当前内容写入命名文件。
TL; DR:^A:writebuf <filename>
OP似乎希望使用一种方法来使用您在进行^ A [时获得的缓冲区的选定部分,使用空格作为开始和结束位置来选择文本,然后使用^ A]进行粘贴,然后保存所得的选定部分缓冲区到文件。
我知道已经发布多年了,但是我一直在寻找相同问题的答案,并最终找到:
^A:writebuf <filename>
注意:writebuf中有一个'f'
尝试hardcopy -h
包括整个缓冲区。
这对我有用:
进入编辑模式(~
)并输入:
:hardcopy -h buff_file
它创建了一个巨大的文件,其中98%是空的,但剩下的2%中我的日志完全存在。
Ctrl
Ctrl-A h