Acrescentar string em um arquivos depois de outra string [RESOLVIDO]

13. Re: Acrescentar string em um arquivos depois de outra string

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/10/2021 - 02:30h

thelinux escreveu:

opa msoliver

O index.xml é bem grande: mas o trecho é este:
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor1 -disableJIT false

aí quero que fique assim:
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor1 -Xgc:java -disableJIT false

Isso dando certo.
Aí vou partir para os 300 servidores. Organizar o script primeiro.
Muito obrigado.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Testes Finais:
Arquivo para simulação: 10.000 linhas

printf "\x2dDjava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor%s -disableJIT false\n" >> texto {00001..10000};


Comando sed:
sed -ri 's/(-Dnome.instancia=servidor[0-9]+)/\1 *String*/' texto 


-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor17621 *String* -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor29255 *String* -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor16042 *String* -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor27816 *String* -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor32200 *String* -disableJIT false
.
.
.
Parece que deu certo.....
Só trocar *String* por -Xgc:java :)

sed -ri 's/(Dnome.instancia=servidor[0-9]+)/\1 -Xgc:java/' texto
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor17621 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor29255 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor16042 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor27816 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor32200 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor00094 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor28686 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor11828 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor05256 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor20723 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor09687 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor31292 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor14044 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor24930 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor00922 -Xgc:java -disableJIT false
-Djava.io.tmpdir=/opt/jboss/temp/ -Dnome.instancia=servidor25564 -Xgc:java -disableJIT false
. . .
Outra opção:
sed -ri 's/(-disableJIT)/ -Xgc:java[\/b] \1/' texto 

______________________________________________________________________
[b]Importante:

lynx --dump https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



  


14. Resolvido

Francisco Jarbas Teixeira Matos
thelinux

(usa Fedora)

Enviado em 19/10/2021 - 10:21h

Obrigado a todos e resolvido de forma bem simples.

A solução depende de cada ambiente e usei as dicas de SED de todos. Obrigado Amarildo por seu suporte.






  
01 02