Skip Navigation

Inverting match with grep, unless another term exists

I have a list containing a set of tags, and would like to exclude one tag, unless another tag exists in the line.

Say I have the following list, and want to exclude B, unless A is present.

 
    
[A,B]
[A,C]
[B,C]
[A]
[B]


  

I can reverse grep for B:

 
    
> grep --invert-match "B"
[A,C]
[A]

  

How can I find the previous list, but also the item containing [A,B]?

6 comments
6 comments