com awk
:
awk '1;/PATTERN/{ print "add one line"; print "\and one more"}' infile
Lembre-se de que alguns caracteres não podem ser incluídos literalmente, portanto, é necessário usar seqüências de escape (eles começam com uma barra invertida). para imprimir uma barra invertida literal, é necessário escrever \
.
Na verdade, é o mesmo com sed
, mas além disso, cada nova linha incorporada no texto precisa ser precedida por uma barra invertida:
sed '/PATTERN/a\
add one line\
\and one more' infile
Para mais detalhes sobre sequências de escape, consulte o manual.