With sed which doesn't support non-greedy *, you'd need to use tricks like:
sed 's/_/_u/g;s/|/_p/g;s/<!!!>/|/g
s/===[^|]*|/whatever/g
s/|/<!!!>/g;s/_p/|/g;s/_u/_/g'
With sed which doesn't support non-greedy *, you'd need to use tricks like:
sed 's/_/_u/g;s/|/_p/g;s/<!!!>/|/g
s/===[^|]*|/whatever/g
s/|/<!!!>/g;s/_p/|/g;s/_u/_/g'