我想尾随日志,找到一些文本,仅输出找到的行和下一行,这有可能吗?
THE QUICK
BROWN FOX
JUMPED OVER
THE LAZY
DOG'S BACK
类似: 尾巴-f | grep布朗狐狸
输出为:
BROWN FOX
JUMPED OVER
答案 0 :(得分:2)
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
选项可获取前导行数
答案 1 :(得分:2)
tail -f log_file_name | grep --line-buffered -A1 BROWN FOX
--line-buffered
使grep对管道输入做出更迅速的响应(如果日志文件增长缓慢,则非常有用)
-A1
要求它在每次比赛后也显示一行。