如何导出“较少”输出的子集

如何导出“较少”输出的子集

我经常需要获取日志文件的子集并将其保存到文件中以供以后使用。我less经常在日志中查看和搜索,为了导出有趣的部分,我目前执行以下操作:

  1. 显示less行号并记下我需要的行范围
  2. 回到 cli,使用sedI 提取所需的范围并将其保存到文件中

是否可以从内部less(即没有sed零件)执行此操作?

答案1

笔记,以下命令可能有效也可能无效,具体取决于您的特定安装。

man less

   | <m> shell-command
          <m> represents any mark letter.  Pipes a section of the input file to the
          given shell command.  The section of the file to be piped is between the
          first line on the current screen and the position marked by the letter.
          <m> may also be ^ or $ to indicate beginning or end of file respectively.
          If <m> is . or newline, the current screen is piped.

因此,当在 中打开文件时less,导航到所需位置并键入以下内容:

|. cat >filename

|.导致less将当前屏幕传送到给定的命令。命令是cat >filenamecat读取STDIN并重定向到filename.

如果需要,您还可以在编辑器中打开该部件:

|. vi -

读取-的原因。然后编辑您想要编辑的内容并将文件保存为.您还可以使用另一个编辑器,它可以从.viSTDINvi:w filenameSTDIN

相关内容