Isso é exatamente o oposto de
Como imprimir linhas entre padrão1 e segundo jogo do padrão2?
Com sed
você faria algo como:
sed -n '/PATTERN1/,$!{ # if not in this range
p;d # print and delete
}
/PATTERN2/!d # delete if it doesn't match PATTERN2
x;//!d # exchange and then, again, delete if no match
: do # label "do" (executed only after the 2nd match)
n;p # get the next line and print
b do' infile # go to label "do"
ou, em uma linha (em gnu
setups):
sed -n '/PATTERN1/,$!{p;d;};/PATTERN2/!d;x;//!d;: do;n;p;b do' infile
Claro, é mais fácil com awk
e contadores. Vou deixar isso como um exercício para você ...