O primeiro endif
ocorre antes do primeiro Delete
, por isso ed
fica confuso sobre o intervalo especificado "para trás".
Você vai querer primeiro encontrar a primeira ocorrência de Delete
, então aplicar o comando dessa linha até o próximo endif
:
1,/Delete/
.,/endif/p
O primeiro comando colocará o cursor na primeira linha do arquivo que contém a palavra Delete
, e o segundo comando imprimirá as linhas dessa linha até a próxima linha que contém a palavra endif
. / p>
Se você fosse dar o mesmo comando em vi
, ele iria reclamar com "O segundo endereço é menor do que o primeiro", e vim
pediria "Intervalo para trás dado, OK para trocar (y / n) " ao dar o comando de edição :/Delete/,/endif/p
.
sed
não teria um problema ao procurar o primeiro endereço antes de começar a procurar pelo segundo endereço (já que é um editor de fluxo).