Isso pode funcionar para você:
sed -e '/foo/i\' -e 'bar' -e '/fred/a\' -e 'barny' -e '/harry/c\' -e 'potter' file
Em cada caso, os comandos i
(insert), a
(append) e c
(change) precisam ser finalizados por uma nova linha.
Normalmente, os comandos podem ser separados por ;
, por exemplo /foo/d;/bar/d
e agrupados por {...
} /foo/{h;d}
, mas para os comandos i,a,c
, o -e
fornece uma maneira de separar os comandos.
A alternativa é usar o shell (bash) para inserir uma nova linha:
sed '/foo/i\bar'$'\n''/fred/a\barney'$'\n''/harry/c\potter' file