I have a load of nfo files which I want to make some global substitutions for some values within each filee.g.   a.nfo has the value <set>Tonight&apos;s Menu ( June 2012 )</set>   b.nfo has the value <set>Tonight&apos;s Menu ( April 2012 )</set>   c.nfo has the value <set>Speciel Menu ( April 2012 )</set>Which I want to make all of them have the same value.   a.nfo has the value <set>Tonight&apos;s Menu</set>   b.nfo has the value <set>Tonight&apos;s Menu</set>   c.nfo has the value <set>Tonight&apos;s Menu</set>I've got this code which is almost working but not quite    find -name '*.nfo' -print -exec sed -i.bak s@\(<set>\).*\(</set>\)@\1Tonight&apos;s Menu\2@ {} \;at the moment the result I get is      <set>Tonight<set>Tonight&apos;s Menu ( June 2012 )</set>apos;s Menu</set>
Sed: search and replace a patten with special characters which has a arbitrary string in between
sed;replace;html;special characters;whitespace