On Mon, Jul 05, 2010 at 12:42:51PM +0200, Bret S. Lambert wrote:
> On Mon, Jul 05, 2010 at 06:35:01PM +0800, Aaron Lewis wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > Hi,
> >     echo %A3 | sed 's/(%[0-9A-Z]{2})//g'
> > 
> >     I'd like %A3 like string to be removed , what's wrong with my script ?
> > 
> 
> According to the sed manpage, it doesn't use {} in this way; you seem
> to be using the wrong syntax (although sed veterans can likely give a
> more thorough answer).
> 
> try   sed 's/%[0-9A-Z][0-9A-Z]//g'    (minus any typos/thinkos on my part)

sed(1) uses basic regular expressions (see re_format(7) for
details).  In particular, you should prepend with a backslash
the parentheses and braces in the original example, although
the parentheses are superfluous for the stated purpose.  If
you want to use bounds, then

echo %A3 | sed 's/%[0-9A-Z]\{2\}//g' 

will do.

Reply via email to