如何将 less 的当前内容保存到文件中?

如何将 less 的当前内容保存到文件中?

如果我将命令的结果传输到管道less,然后决定将内容保存到文件中,这可能吗?

我尝试a在缓冲区末尾设置一个标记,然后返回到顶部并使用|avi将整个内容发送到vi,但这不起作用。

答案1

在我的系统上,man less

s filename
       Save the input to a file.  This only works if  the  input  is  a
       pipe, not an ordinary file.

对我有用!

答案2

接受的答案在 Mac 上不起作用 - 正如@benroth 所说,按下s只会向下移动一行 - 但您可以使用不同的方法。

less --help

|Xcommand            Pipe file between current pos & mark X to shell command.

A mark is any upper-case or lower-case letter.
Certain marks are predefined:
     ^  means  beginning of the file
     $  means  end of the file

因此如果你转到缓冲区的顶部(<),然后:

|$cat > /tmp/foo.txt

缓冲区的内容将被写入/tmp/foo.txt

答案3

打开后less,你可以将完整的输出保存到文件中。与 一样vim,less 支持命令。

只需键入键s,然后less会询问您想要保存内容的文件的名称,只需键入文件名,然后键入Enter

干杯

答案4

如果你已经启动了 less,则不需要,但如果你知道要将其发送到 less 和文件,那么你可以使用 tee 命令

command | tee out_file | less

相关内容