grep 文本文件中所有包含“xxx”的行和上一行

Posted

技术标签:

【中文标题】grep 文本文件中所有包含“xxx”的行和上一行【英文标题】:grep in a textfile all lines containing 'xxx' and the previous line 【发布时间】:2014-02-23 12:15:31 【问题描述】:

我想打印包含 xxx 的 tomcat catalina.out 日志中的所有行。一个简单的事情来完成使用:

cat catalina.out | grep xxx

但是。在日志文件中,我得到包含 xxx 的行,该行上方的行包含记录该项目的日期和时间。我也想在 grepped 线上方看到那些线。我怎么能做到这一点?

【问题讨论】:

【参考方案1】:

grep -B1

-B[n] 可让您在要查找的模式之前看到 [n] 行。

您还可以将-A 用于“后面的行”,将-C 用于“上下文”(上面和下面的行)。

您还可以简化 grep 调用并使用 grep xxx -B1 catalina.out 删除管道。

【讨论】:

以上是关于grep 文本文件中所有包含“xxx”的行和上一行的主要内容,如果未能解决你的问题,请参考以下文章

基于当前行和上一行的用户定义函数

在每个当前行和上一行 BigQuery 之间查找 MAX、AVG

linux命令文本处理grep

grep搜索文本命令

grep搜索文本命令

grep搜索文本命令