[BUG REPORT]sed -e 's/[B-D]/_/g' replaces unexpected characters
Corinna Vinschen
corinna-cygwin@cygwin.com
Tue Jun 25 16:07:00 GMT 2013
On Jun 25 15:38, Lavrentiev, Anton (NIH/NLM/NCBI) [C] wrote:
> > Your locale is zh_CN.UTF-8. What you're expecting is only guaranteed
> > in the C locale:
>
> I'm not quite sure it applies here. I'm using US English Windows 7.
>
> LANG = 'en_US.UTF-8'
>
> I get the same result:
>
> $ echo abcdeABCDE | sed -e 's/[B-D]/_/g'
> ab__eA___E
>
> BUT:
>
> $ echo abcdeABCDE | LANG=C sed 's/[B-D]/_/g'
> abcdeA___E
>
> This is very weird, indeed.
>
> OTOH, in Linux I have the same LANG setup, yet it does work
> correctly:
>
> > echo $LANG
> en_US.UTF-8
> > echo abcdeABCDE | sed -e 's/[B-D]/_/g'
> abcdeA___E
>
> I believe that an en_US UTF-8 string representation for
> "abcdeABCDE" is not any different from ASCII.
Wrong. Try this:
$ sort
a
b
c
d
e
A
B
C
D
E
<Ctrl-D>
a
A
b
B
c
C
d
D
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list