sed Multiline ersetzen

Dies ist meine Beispieltextdatei:

asdas
//<<<TAG
this should be removed
//TAG>>>
this should be there
//<<<TAG
T
>
asd
asd
//TAG>>>

für die ich o / p als will:

asdas

this should be there

Grundsätzlich versuche ich, Zeilen zwischen "// << >>" zu finden (auch diese Zeilen) und zu löschen.

Ich habe versucht, sed zu benutzen

sed -n '1h; 1! H; $ {; g; s /// <<] * TAG >>> // g; p;}' <test.txt

Aber einige, wie es nicht richtig ausgegeben wurde. Das zweite Tag, das das Symbol ">" enthielt, ist in regulären Ausdrücken fehlgeschlagen. Nicht sicher, wo ich falsch liege?

Irgendeine Idee, wie es geht?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage