sed -e 's,<\([^>]*\)>\([^<]*\)</[^>]*>,<\1>\2</\1>,g' tags.xml
Это заменяет в той же строке
(opening tag)(content)(closing tag)
с
(opening tag)(content)(closing tag)
но закрывающий тег всегда совпадает с открывающим тегом.
Может произойти сбой, если в файле найдено более одной пары тегов.
Подробно, он ищет что-то, начиная с «<», затем следует имя тега, не закрывая его «>», за которым следует содержимое, то есть все до «<». </p>