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



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts