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

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

Re: [shell-script] pgrep =o)


From: Thobias Salazar Trevisan
Subject: Re: [shell-script] pgrep =o)
Date: Wed, 14 May 2003 11:10:36 -0300 (BRT)

ae davis,

On Wed, 14 May 2003, Davis Zanetti Cabral wrote:

> Tipow... duvida basica... mas eh que eu to me arrebentando e num
> to conseguindo fazer com que voltem os mesmos resultados =o)
>
> pgrep
> "ALARM:35-18091|ALARM:35-180-10|ALARM:1-18010|ALARM:1-18011|ALARM:1-18091|AL
> ARM:1-18092"
>
> pode ser considerado a mesma coisa que:
>
> pgrep "ALARM:(35-180(91|10)|1-180(10|11|91|92))"

vamos testar. :)
Damos um echo de ALARM:35-18091.... e fizemos um sed com esta
regex substituindo ela por nada, ou seja, só vai ficar o que o
sed não conseguir casar.


$ echo "ALARM:35-18091|ALARM:35-180-10|ALARM:1-18010|ALARM:1-18011|
ALARM:1-18091|ALARM:1-18092" | sed 's/ALARM:35-18091\|ALARM:35-180-10\|
ALARM:1-18010\|ALARM:1-18011\|ALARM:1-18091\|ALARM:1-18092//g'

|||||

blz. O echo tem |, mas no sed o | eh \| que é OU. Então casou
tudo.

Sua regex:

$ echo "ALARM:35-18091|ALARM:35-180-10|ALARM:1-18010|ALARM:1-18011|
ALARM:1-18091|ALARM:1-18092" | sed
sed 's/ALARM:\(35-180\(91\|10\)\|1-180\(10\|11\|91\|92\)\)//g'

|ALARM:35-180-10||||

ops! parece que não. olhe:

no echo temos ALARM:35-18091 e ALARM:35-180-10. Na sua regex tem
ALARM:(35-180(91|10)

No echo tem um sinal de menos entre o 180 e 10. Entre o 180 e 91
não. Então para corrigir pode fazer:

$ echo "tudo aqui de sempre" | sed sed
's/ALARM:\(35-180\(91\|-10\)\|1-180\(10\|11\|91\|92\)\)//g'

|||||

ALARM:(35-180(91|-10)|1-180(10|11|91|92))

feito!

falow

thobias
-------
echo 9446046325380026818553633794429812592304650P | dc
-------
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------



reply via email to

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