Tente o modo de parágrafo do awk:
$ awk -v RS= -v ORS='\n\n' '{gsub(/<[^>]+>?\n?/, "")}1' ip.txt
This is the first
block of text.
This is the second block.
do not delete this>
Third block here.
-
-v RS=
isto fará com que uma ou mais linhas vazias consecutivas sejam usadas como separador de registro de entrada -
-v ORS='\n\n'
definiu o separador de registro de saída como dois caracteres de nova linha -
gsub(/<[^>]+>?\n?/, "")
delete<
seguido por non>
caracteres seguidos por>
e caracteres de nova linha opcionais -
1
maneira idiomática de imprimir o conteúdo dos registros de entrada
Mesma coisa com perl
perl -00 -lpe 'BEGIN{$\="\n\n"} s/<[^>]+>?\n?//g' ip.txt