如果找到关键字,则删除分隔符之间的模式

时间:2016-06-30 07:24:43

标签: linux bash awk grep

我有一个体积适中的文档,每个文档由5到25行组成,所有文件都由一堆===字符分开。

我想要做的只是保留一些文本,这很好,但我还想删除这些===字符之间的所有内容,如果找到某个关键字,我不知所措。

在这个例子中,我想删除包含X的===字符之间的所有内容,包括A,B,F和G.

  

=============================================== =======================

     

A = 1

     

B = 2

     

C = 3

     

D = 4

     

E = 5

     

=============================================== =======================

     

A = 0

     

B = 10

     

F = 5

     

G = 10

     

X = 20

     

=============================================== =======================

有人有个主意吗?

预期产出:

A = 1

B = 2

C = 3

D = 4

E = 5

谢谢!

1 个答案:

答案 0 :(得分:1)

使用GNU AWK:awk '!/X|F|G/' ORS= RS='===+' - andlrc