Expressão regular

1. Expressão regular

Eduardo Colombo da Silva
linuxlive

(usa openSUSE)

Enviado em 06/08/2009 - 15:36h

Pessoal, estou tentando utilizar uma expressao regular, juntamente com o sed, mas está meio complicado.
Já li varios tutoriais e nao encontrei nada.

O que preciso é o seguinte:
Tenho um script onde o mesmo vai recortar uma string e substitui-la por outro valor.
No Script, vou ler um outro para encontrar a seguinte linha:

java -Xrs -Xincgc -Xmx064m -jar pdv.jar

E nesta linha, preciso substituir apenas o "064", por 128, 256 ou 512.
O Detalhe, é que o valor 064, pode não ser o mesmo sempre.

Por favor, apenas localizar e substituir string com o sed /s eu já sei.
O que preciso é capturar 3 caracteres depois do -Xmx, e substitui-lo.

Se alguem puder me ajudar, agradeço.
E se puder me explicar como foi feito, prefiro.

Obrigado


  


2. Re: Expressão regular

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 07/08/2009 - 21:19h

Amigão, não entendi, por que não dá pra usar uma subistituição tipo:

sed 's/-Xmx.**.-/-Xmx128 -/' < arquivo




3. Re: Expressão regular

Eduardo Colombo da Silva
linuxlive

(usa openSUSE)

Enviado em 10/08/2009 - 15:14h

fdmarp, essa sintaxe que voce ma passou está incorreta.

Eu posso usar substituicao sim, mas como te disse, preciso substituir algo que não sei o que é.

Eu precisaria que funcionasse uma expressao assim:

sed 's/-Xmx***/-Xmx128/' < arquivo

ou seja, nos asterisco, seria os caracteres que desconheço.



4. Re: Expressão regular

Phillipe Smith
Smithux

(usa Arch Linux)

Enviado em 10/08/2009 - 15:38h

Que tal?

sed 's/-Xmx.../-Xmx128/' < arquivo




5. Re: Expressão regular

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 11/08/2009 - 14:59h


sed 's/-Xmx.*.-/-Xmx128 -/' < arquivo



6. substituicao

Sergio Pires de Albuquerque
sergiopires

(usa Debian)

Enviado em 14/08/2009 - 08:16h

Amigo,

Voce pode usar o perl:

echo 'java -Xrs -Xincgc -Xmx064m -jar pdv.jar' | perl -p -e 's/(\D+)(\d+)/${1}${NOVO_NUMERO}/'


Onde a variável novo número deve ser definida em seu script ou mesmo pegar o argumento via linha de comando.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts