[ILUG] Sed/tex processing Question

Pádraig Brady P at draigBrady.com
Wed Mar 11 00:05:45 GMT 2009


rory.winston at gmail.com wrote:
> Hi All
> 
> I have a sed question: currently I am using sed to preprocess some
> garbage collection log files produced by Java.
> There are 10 pieces on information on every line that I would like to
> extract. I have just knocked up a large and ugly sed command to do this:
> 
> # Typical line
> # 7.181: [GC 7.181: [ParNew: 6193K->101K(6528K), 0.0031050 secs]
> 8470K->2692K(64832K), 0.0031680 secs]
> 
> $ sed -n "/GC/{s/^\([0-9]\+\.[0-9]\+\): \[GC \([0-9]\+\.[0-9]\+\): \[ParNew
> : \([0-9]\+\)K->\([0-9]\+\)K(\([0-9]\+\)K), \([0-9]\+\.[0-9]\+\) secs\]
> \([0-9]\+\)K->\([0-9]\+\)K(
> \([0-9]\+\)K), \([0-9]\+\.[0-9]\+\)
> secs\]/\1,\2,\3,\4,\5,\6,\7,\8,\9/gp}" logfile
> 
> This has a fatal flaw, in that I have exhausted the maximum number of
> backreferences available. Does anyone know a better way to do this?

How about transforming the delimiters?

sed -n '/GC/s/[^0-9.]\+/ /gp'

cheers,
Pádraig.



More information about the ILUG mailing list