tail -f OR less + F如何突出新行

时间:2017-03-21 11:08:01

标签: linux bash console

自上次更改以来,是否有任何方法可以突出显示,即加粗或着色新添加的行?

例如,我正在观看PHP error_log中有多个类似错误的日志文件(不同的行或函数名称等)...而且我必须查看一组错误结束而另一组错误开始的时间戳(页面刷新) )

如果有一种方法可以突出显示,但只有最后添加的行,这将非常有用。

我正在寻找在macOS和Linux上运行的解决方案。

3 个答案:

答案 0 :(得分:1)

如果您的系统有,请查看watch命令。命令:

watch -d tail /your/file/here

将显示文件并逐个字符突出显示差异。请注意,在这种情况下,您不希望使用-f选项。

Ubuntu有它。对于OSX,如果您安装了homebrew,则可以使用brew install watch;如果您使用ports,则可以使用sudo ports install watch

另一个好处是,它适用于任何输出随时间变化的命令。我们甚至将它与ls -l一起使用来观察备份和文件压缩的​​进度。

答案 1 :(得分:0)

“尾巴”本身并没有提供一个认真的方法来做到这一点。但请仔细看看“多头”:

question

对于Mac OSX:

https://www.vanheusden.com/multitail/

答案 2 :(得分:0)

开启grep的线路缓冲模式。

  1. 使用尾部

    tail -f fileName | grep --line-buffered my_pattern
    
  2. 少用

    less +F fileName | grep --line-buffered my_pattern
    
  3. 使用手表和手表尾巴突出新线

    watch -d tail fileName 
    
  4.   

    注意:对于基于Linux的系统。