Postar uma saída desejada sem especificar as regras / lógicas a serem aplicadas para que ela seja obtida realmente não ajuda a resolver seu problema. Alguém poderia apenas ecoar / imprimir a saída sem relação com a entrada. Supondo que você queira as linhas entre \begin{code}
e \end{code}
excluindo qualquer uma delas, tente
sed -n '/\begin/,/\end/ {/{code}/!p}' file
code1
-- comment1
code1A
-- comment2
code1B
codeB
Se você precisar de linhas vazias, anexe /^ *$/p
ao script sed
.
EDITAR: assim:
$ sed -n '/\begin/,/\end/ {/{code}/!p}; /^ *$/p' file
code1
-- comment1
code1A
-- comment2
code1B
codeB