[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