通过运行命令限制一次显示的行数

通过运行命令限制一次显示的行数

我在终端中运行了一些命令,它们会输出它们所做的一切,这很好,但我不需要整个窗口都充满数千行输入。有没有办法只显示最后 x 行输出,而删除其余行?

答案1

您可以使用 tail 命令。它将仅列出用户指定的文件的最后几行。如果需要,它还将实时列出最后几行。tail -n 5 将打印最后 5 行。只需执行 man tail 即可获取其他选项。

答案2

虽然不知道您看到哪些命令的输出很多,但我可以说,您可以使用 tail 命令限制终端上输出的行数,方法是使用“管道”将第一个命令的输出发送到第二个命令。例如:

ls | tail -n 5  

它不将 ls 命令的输出发送到屏幕,而是将其发送(或通过管道)到 tail 命令。此处的 tail 命令将打印 ls 输出的最后 5 行,因为指定了“-n 5”。

答案3

控制台输出只是逐行写入输出流(标准输出或标准错误)的行。控制台窗口和终端应用程序只显示这些行,并向上滚动前一行。它们无法删除任何已打印的行。您需要:

  1. 具有内置功能的控制台/终端应用程序,可以省略除最后一个之外的所有内容n在收到新线时重新绘制线;这也许是可行的,但我不知道如何做。
  2. 可以执行此操作的附加应用程序从控制台启动,作为应用程序的包装器;screen可能tmux可以做到这一点,但我不知道如何做。
  3. 可以执行此操作的应用程序,您可以通过管道将应用程序的控制台输出传输到此处;multitail例如,它适合这里:

    find | env LINES=10 multitail -j
    

    将显示的输出find,但每次显示不会超过 10 行。

您尚未说明您所使用的操作系统,但multitail可用于 Linux,例如作为 Ubuntu 软件包。

相关内容