Oi pessoal, tudo bem?
Atualmente tenho um script que pega o conteúdo de um arquivo e joga em uma "linha" específica de outro arquivo. O problema é que nem sempre o texto é copiado pra linha correta, rs.
Por exemplo: eu tenho um arquivo chamado template.ovpn com o seguinte conteúdo:
remote x.x.x.x.x.x
client
port 1194
proto udp
dev tun
resolv-retry infinite
nobind
mute-replay-warning
auth-nocache
tls-client
remote-cert-tls server
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
verb 3
mute 20
<ca>
</ca>
E tenho outro arquivo chamado ca.crt com o seguinte conteúdo:
-----BEGIN CERTIFICATE-----
MIIE+zCCA+OgAwIBAgIUVPyoYOe4v4rM3CEyt+6Lqaee1fowDQYJKoZIhvcNAQEL
BQAwgacxCzAJBgNVBAYTAkJSMQswCQYDVQQIEwJTUDERMA8GA1UEBxMIU2FvUGF1
Atualmente eu faço o processo de cópia deste jeito:
sed -i 32r<(sed '1,100!d' ca.crt) template.ovpn
Na linha acima eu pego todo o conteúdo do arquivo ca.crt e copio para a linha 32 no arquivo template.ovpn.
Eu preciso copiar o texto inteiro na linha 32. A linha 32 está destacado de vermelho:
<ca>
Aqui ficaria o texto colado
</ca>
Como disse anteriormente, o problema é que o comando executado não funciona sempre. Por exemplo, se eu adicionar ou remover uma linha do arquivo template.ovpn, a linha 32 ficaria em outra posição e eu teria que modificar o comando sed -i 32r<(sed '1,100!d' ca.crt) template.ovpn para algo do tipo "sed -i 50r<(sed '1,100!d' ca.crt) template.ovpn"
Agradeço a ajuda.