A correspondência entre linhas entre os padrões, incluindo os limites, é um seletor de intervalo padrão em sed:
sed -n -e '/pattern1/,/pattern2/p' example.txt
Dependendo de como você é crítico em termos de eficiência (o tamanho dos arquivos), provavelmente seria preguiçoso e usaria um segundo passe para excluir os marcadores pattern2:
cat example.txt \
| sed -n -e '/pattern1/,/pattern2/p' \
| sed -e '/pattern2/d'
(Sim, este é um uso inútil de cat, porque eu prefiro a legibilidade de encadear vários filtros de tubulação sobre a perda de desempenho, e não tenho certeza agora se < example.txt | sed ... | sed ...
é obrigatório por POSIX ou apenas uma extensão que acontece de estar presente em bash e zsh.)