Se deve ser sed
:
sed -i.bak ':a;N;$!ba;s/set cells {.*}/set cells{\n'$cell_variable'\n}/g' file
-
-i.bak
cria um backup do arquivo original antes de editar em linha. -
:a
crie o rótuloa
para voltar atrás. -
N
acrescenta a próxima linha de entrada no espaço padrão. -
$!
se não for a última linha ...-
ba
pula de volta para o marcadora
-
-
s///g
procura e substitui os padrões
Uma solução mais simples com perl
:
perl -0777 -i.bak -pe "s/set cells \{.*\}/set cells{\n$cell_variable\n}/igs" file
-
-0777
faz o perl sugar todos os arquivos. -
-i.bak
cria um backup do arquivo original antes de editar em linha.