[ale] sed & regex

Geoffrey esoteric at 3times25.net
Tue Mar 30 09:56:07 EST 2004


Keith Hopkins wrote:
> Hi folks,
> 
> I hope someone can point me to the error of my ways....too difficult?
> Ok, how about a hand at a regex problem?
> 
> I have some xml files I'm trying to convert for local browsing.
> "wget -m -k" almost does the trick, but the remaining files have this
> snippet left in them...
> 
> "handbook.xml?part" as part of an href.  The actual files have "?" in
> their names.  If I convert the href from "?" to "%3F" then my browser
> is all happy and finds the files (otherwise, it prints nasty errors).
> 
> 
> The question is, how to replace all the "?" with "%3F".  I tried
> `sed` since that seemed to be the natural solution, but it isn't
> working like I expected.


> 
> I do this...
> 
> sed "s/handbook.xml\?/handbook.xml\%3F/" handbook.xml > handbook.html
> 
> 
> and sed really converts the string to "handbook.xml??"
> 
> Where is the extra "?" coming from??
> 
> Alternately, I tried sed "s/handbook.xml\?part/handbook.xml\%3Fpart/"
> handbook.xml > handbook.html and that seems to work OK (for those
> lines that actually have "part" in them).

Weird it works for me.  Try:

sed 's/handbook.xml[?]/\handbook.xml\%3F/'

(single quotes, and the brackets isolate the ?)

-- 
Until later, Geoffrey                     Registered Linux User #108567
Building secure systems in spite of Microsoft



More information about the Ale mailing list