Se a entrada for XML, é melhor usar uma ferramenta específica para XML.
Método 1
Um método para incluir um /
em um regex sed é escapar com uma barra invertida:
$ sed -ne '/<Model500>/,/<\/Model500>/p' file.txt
<Model500>
ABC
BCD
CDE
</Model500>
<Model500>
123
234
345
</Model500>
A expressão /<Model500>/,/<\/Model500>/
especifica um intervalo de linhas. O intervalo começa com uma linha que corresponde a <Model500>
e termina com uma linha que corresponde a <\/Model500>
. Como estamos especificando um intervalo, não um comando substituto, a expressão não inicia com s
.
Método 2
Se você não quiser escapar, use um delimitador diferente:
$ sed -ne '\|<Model500>|,\|</Model500>|p' file.txt
<Model500>
ABC
BCD
CDE
</Model500>
<Model500>
123
234
345
</Model500>
Aqui, usamos |
como delimitador. Para sinalizar que um delimitador diferente de /
está sendo usado em um intervalo, o primeiro deve ter um escape: \|
.