Usando sed
Isso exclui o intervalo até, mas não inclui, a última linha do intervalo:
$ seq 9 | sed '/^3/,/7/{/7/p;d}'
1
2
7
8
9
Como antes, /^3/,/7/
seleciona todo o intervalo, incluindo /7/
. E, como antes, esse intervalo é excluído com o comando d
. No entanto, antes de excluir, verificamos se a linha contém /7/
e, nesse caso, a imprimimos com o comando p
.
Usando o awk
o awk oferece muita flexibilidade. Aqui, usamos uma variável f
como sinalizador para decidir se as linhas devem ser impressas:
$ seq 9 | awk '/^3/{f=1} /7/{f=0} !f'
1
2
7
8
9