com sed
:
sed -n '/<xyz[ >]/,/<\/xyz>/p' 2.xml | \
sed '/<xyz[ >]/,/<\/xyz>/ { /<\/xyz>/! d; r /dev/stdin
D; }' 1.xml >output.xml
Por favor, note que deve haver uma nova linha após /dev/stdin
.
Outra maneira com sed
, mais limpa, mas menos eficiente:
{
sed '/<xyz[ >]/,$d' 1.xml
sed -n '/<xyz[ >]/,/<\/xyz>/p' 2.xml
sed '1,/<\/xyz>/d' 1.xml
} >output.xml