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

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

Re: [shell-script] Substituição acima de 9 grupos com sed


From: Tiago Peczenyj
Subject: Re: [shell-script] Substituição acima de 9 grupos com sed
Date: Fri, 6 Nov 2009 16:28:58 -0200

gsed e muitos outros programas tem um limite de 9 retrovisores.

no seu caso especifico talvez seja o caso de parsear em etapas ou utilizar
awk com alguma logica mais rebuscada.

2009/11/6 Rodrigo <address@hidden>

>
>
> Boa tarde,
>
> De acordo com a referência do SED [1], "the replacement can contain \n
> (n being a number from 1 to 9, inclusive) references".
>
> Sendo assim, como podemos fazer uma substituição quando mais de 9
> grupos são considerados?
>
> Por exemplo, eis o que preciso fazer usando o SED:
>
> $ echo "2009-11-06 00:00:00
> BRST:161.148.24.173(33728):user@database:[5256]:LOG: duration:
> 13504.818 ms statement: INSERT INTO mdl_log" | sed -e 's/^\(.\{19\}\)
> BR\(S\)\?T:\([0-9.]*\)(\([0-9]*\)):\(.*\)@\(.*\):\[\([0-9]*\)\]:\([A-Z]*\):
> duration: \([0-9.]*\) ms statement:
> \(.*\)$/\1;\3;\4;\5;\6;\7;\8;\9;\10/'
>
> Isso é, a substituição com o "\10" não funciona, pois ao invés disso
> ele considera o grupo "\1" e adiciona a string "0".
>
> [1]
> http://www.gnu.org/software/sed/manual/sed.html#index-Command-groups-99
>
> Antecipadamente agradeço.
>
> --
> Atenciosamente,
>
> Rodrigo Hjort
> http://agajorte.blogspot.com
>
> 2009 : l'Année de la France au Brésil
> http://anodafrancanobrasil.cultura.gov.br
>
>  
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://pacman.blog.br


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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