Estou tentando usar sed ou awk para substituir 5 linhas em um arquivo SMB, mas eu não tenho idéia de como lidar com as novas linhas.
Sed é muito ruim nisso, porque opera uma linha de cada vez. A única técnica decente que já vi para fazer isso é esta , que envolve armazenar o arquivo inteiro no buffer de espera do SED e, em seguida, operar tudo de uma vez:
sed -n '1h;1!H;${g;s/search/replace/;p;}'
Se você puder, é muito mais fácil usar o Perl para realizar isso:
Perl -0pe 's/search/replace/'
search
pode conter \n
s para representar newlines