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]
?
grep -E '(^[^B]*$|A)'
EDIT: Whoops, I meant to make this a top-level comment.
EDIT 2: On one client it looked like a nested comment and on this other client it looks top level and now I’m a confused old man.
Haha, on Lemmy.World it looks like a top level. Thank you, either way :)
You don’t need parentheses here.
How dare you?Thanks!