连接两个grep输出并按顺序显示结果

时间:2018-01-17 13:20:32

标签: unix grep concatenation

我必须从文件A.log中单词“随机”,并从同一文件中单词“fail | pass”。 但在这里,我想要随机搜索,包括其前一行。

让文件的内容为

列表已完成

随机项目

subject1

subject2

subject3

从这里开始计算

检测到故障

subject1

subject2

subject3

计数到此结束

项目已通过

subject1

subject2

subject3

如果我使用 egrep -B1“random | fail | pass”A.log

结果如下。

 The list is complete

 random items are ...

 count begins here

 failure detected

 count ends here

  item passed

结果输出将连接上一行失败并传递。但是  在这里我只需要前一行的模式“随机”而不是“失败|传递”

我期待的结果。

The list is complete

   random items are ...      

   failure detected   

   item passed

1 个答案:

答案 0 :(得分:1)

awk' / random / {print x; print; next} {x = $ 0}; / fail | pass /' A.log

它只打印前一行"随机"搜索和单词"失败|通过"来自同一个文件