You can specify a range of lines to operate on. For example, to operate on all lines, (which is of course the default):
sed -e "1,$ s/a/b/"
But I need to operate on all but the last line. You apparently can't use arithmetic expressions:
sed -e "1,$-1 s/a/b/"
(I am using cygwin in this case, if it make a difference)