首页 > 解决方案 > 我可以tail -fa log 并且只打印与某些文本匹配的某些行吗?

问题描述

我想跟踪一个日志,找到一些文本,只输出找到的行加上下一行,这可能吗?

THE QUICK 
BROWN FOX 
JUMPED OVER
THE LAZY 
DOG'S BACK

类似于:tail -f | grep 棕狐

输出将是:

BROWN FOX 
JUMPED OVER

标签: bashgrep

解决方案


tail -<num1> filename.log | grep "search_string" -A num2

示例文件:a.log

10 20
10 12
11 14


tail -2 a.log | grep "10" -A 1 # tail -2 indicates two lines from the end of the file


输出

10 12
11 14

Grep选项 在 grep 中
使用-n 选项打印行号
使用-C num选项获取前导和尾随上下文(匹配行的相邻行)
使用-A num选项获取尾随行数 使用-B num选项获取前导行数


推荐阅读