sed -E 's%<title>(.*)</title>%<title></title>\n<desc></desc>%g' file.xml
deve fazer sua lição de casa.
Para explicar um pouco mais:
O parâmetro -E
informa sed
para usar expressões regulares estendidas, portanto, você pode usar referências. Substituir com sed normalmente é feito na forma s/search/replace/g
. Como há barras no texto de pesquisa, usamos %
em vez de /
para sed marcar as partes, portanto, não precisamos mascarar as barras no texto de pesquisa por uma barra invertida. O resto é coisa normal de regex, na parte de substituição faz referência ao fragmento dentro de
(…)
na parte de pesquisa.