如何连续显示其最后几行内容的文件

Wen*_*CSE 18 unix linux split screen tail

我试图找到一个关于如何连续显示其最后几行内容的文件的Unix命令(可能是组合).但在此显示期间,我希望当滚动内容到达屏幕顶部时,一些顶行总是显示在屏幕顶部.

那可能吗?

(1)假设我有文件"job.sta",前两行是:工作名称,John在2013年1月30日的工作,... Tab1,Tab2,Tab3 0,1,2,1,90, 89 2,89,23 ......

(2)这个文件正在运行,它的内容正在增长,我不知道它将结束什么行.

(3)所以我想在使用tail命令时显示(总​​是)前两行,当更新内容到达Unix shell屏幕顶部时.我现在正在使用PuTTY.

参考:http: //www.unix.com/unix-dummies-questions-answers/172000-head-tail-how-display-middle-lines.html

wac*_*413 39

我一直使用此函数来监视另一个终端窗口中的日志文件.

tail -f <filename>
Run Code Online (Sandbox Code Playgroud)

我建议向前迈出一步,在日志中查找特定文本.如果您只对将某个特定条目写入文件感兴趣,那就太棒了.

tail -f <filename> | grep <keyword or pattern>
Run Code Online (Sandbox Code Playgroud)


Wil*_*ell 18

这将每2秒更新一次,而不是每当数据写入文件时,但这可能是足够的:

watch 'head -n 2 job.sta; tail job.sta'
Run Code Online (Sandbox Code Playgroud)

  • 你好,兄弟,我根据你的最佳答案提出了一个新问题。如何编写自定义命令,例如 watch2. 它运行如下: $&gt;watch2 job.sta 因此,它将从命令行参数获取文件名。我已经尝试了很多。但我对引号很生气。你有什么光可以照亮吗? (2认同)
  • `watch2(){head -n 2"$ 1"; 尾巴"1美元"; }` (2认同)

cho*_*oba 8

您可以screen用来模拟预期的行为:

  1. screen,按Space.

  2. Ctrl+ a然后按S分割屏幕.

  3. 按调整前窗Ctrl+ a之后:resize 4.

  4. 在顶部窗口的提示符下,输入head -n2 file.

  5. Ctrl+ a后移动到底部窗口Tab.

  6. Ctrl+ a后开始新的屏幕会话c.

  7. 在新提示中,输入tail -f file.