bash - 我可以tail -fa log 并且只打印与某些文本匹配的某些行吗?
问题描述
我想跟踪一个日志,找到一些文本,只输出找到的行加上下一行,这可能吗?
THE QUICK
BROWN FOX
JUMPED OVER
THE LAZY
DOG'S BACK
类似于:tail -f | grep 棕狐
输出将是:
BROWN FOX
JUMPED OVER
解决方案
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
选项获取前导行数
推荐阅读
- nestjs - 如何在带有typeorm的nestjs项目中使用外部实体?
- java - 可以用groovy设置spring boot的附加参数吗?
- angular - Angular - 接收并返回 Observable
Http.post 中的响应 - c# - 如何每 N 分钟重置一个递增计数器
- selenium - 页面工厂初始化问题
- javascript - 如何仅在应用过滤器后进行 ng-repeat?
- android - 我可以将库的源代码作为依赖项直接链接到应用程序项目吗
- c++ - 具有相同签名的 C++ 模板类运算符重载
- unity3d - MissingComponentException:“Balletjes(Clone)”游戏对象没有附加“SpriteRenderer”,但脚本正在尝试访问它
- python - MetPy 匹配 GOES16 反射亮度