I wrote an extensive tutorial on sed back about 1987 or so. It's part
of HP's HP-UX User Guide series: "Text Editors and Processors". I don't
know if you can get your hands on it or not. I based it on the
sed standards-conformance tests that were run before the software could
be shipped, plus other explanatory stuff.
The thing that confuses people about sed is the concept of "pattern
space". ^ is the start, and $ is the end, but you can have multiple
lines in the space at the same time, with each adjacent pair
separated by a newline (represented as \n in substitutions and
pattern searches).
It's a very powerful program -- especially when run from inside vi
(vim) and vi is run non-interactively from a shell script by
redirecting input from a command file that ends with "ZZ" or ":wq"
on the last line in the file.
I overhauled the entire HP-UX Reference (manpages) in a few minutes
that way. Took about 3 hours to write and debug the code, but the
job ran in less than 5 minutes on a 30-MHz processor. It would
be interesting to see how long it would take on a 2-Ghz machine. :-)
I converted all in-line coding to macros; i.e., \fB became .B, etc.
and I completely changed the typography conventions from AT&T to
current industry practice, and got rid of font inconsistencies too.