Replace a tag with sed

I need to replace a tag by another one, but keep the text in between, i.e. change <tag1 whatever>some text</tag1> into <tag2 whatever>some text</tag2>. Is this possible using sed?
GeologyETHAsked:
Who is Participating?
 
woolmilkporcConnect With a Mentor Commented:
S='<tag1 whatever>some text</tag1>'
echo "$S"| sed -e 's/<tag1/<tag2/' -e 's/<\/tag1/<\/tag2/'

If there's never a linefeed between the tags then this will do it as well:

echo "$S"|sed 's/<tag1\(.*\)<\/tag1\>/<tag2\1<\/tag2>/'
0
 
GeologyETHAuthor Commented:
works perfectly, thanks.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.