Com novas linhas:
% sed -i '/the specific line/i #this\n##is my\ntext' foo
% cat foo
#this
##is my
text
the specific line
Eu quero adicionar isso
#this
##is my
text
antes da linha
the specific line
Eu tentei isso
sed -i '/the specific line/i \
#this
##is my
text
' text.txt
mas adiciona apenas em "texto".
Eu também tentei várias combinações com \
e " "
, mas nada funcionou.
Com novas linhas:
% sed -i '/the specific line/i #this\n##is my\ntext' foo
% cat foo
#this
##is my
text
the specific line
Você está perdendo a barra invertida no final de algumas linhas (e você tem uma nova linha no final da última linha que deseja inserir):
sed -i '/the specific line/i \
#this\
##is my\
text' file
% cat file
foo
the specific line
bar
% sed -i '/the specific line/i \
#this\
##is my\
text' file
% cat file
foo
#this
##is my
text
the specific line
bar