shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[shell-script-pt] Copia um texto para uma linha especifica


From: Alisson
Subject: [shell-script-pt] Copia um texto para uma linha especifica
Date: Fri, 30 Apr 2021 13:38:07 -0300

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]