See "cat -v considered harmful" (http://gaul.org/files/cat_-v_considered_harmful.html). GNU just does bloat bigger and better. (Compare BSD make and GNU make, for starters.)
Better to have the separate program than everything to implement its own version, but having both isn't necessarily bad.
Nope, you can check the return value from the program(s) run inside of it and revert to the backup file if there's a problem. You really don't need it to be handled specifically by sed.
There's actually an example script that does exactly that in _The Unix Programming Environment_, called 'overwrite', on page 154.
At Microsoft I learned the truth about ActiveX and COM and I got very interested in it inmediately [sic]. Upon my return to Mexico Federico and I started to design a GUI control infrastructure for Unix that we code named `GNOME'.
"The Story of the GNOME project" http://primates.ximian.com/~miguel/gnome-history.html
or "How one man ruined everything"
The X server has to be the biggest program I've ever seen that doesn't do anything for you. - ken
The BSD user in me completely agrees; I'd just like to know if that's what you intended.
'cat came back from Berkeley waving flags' - Rob Pike