[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: кириллица и grep/eglibc



22.08.2013, 11:27, "alex@barak.in" <alex@barak.in>:
> квантификаторы \b \B \< \> не работают (по крайней мере) с кириллицей:
> $ echo "я" | grep -q 'я\b'; echo $?; grep --version | sed 1\!d
> 1
> grep (GNU grep) 2.12
>
> это баг или фича?
> если баг, то где — в grep-е или в eglibc?
>
> p.s. посмотрел в других местах:
> Ubuntu EGLIBC 2.13-20ubuntu5.3:
> $ echo "я" | grep -q 'я\b'; echo $?; grep --version | sed 1\!d
> 1
> grep (GNU grep) 2.9
>
> Debian EGLIBC 2.11.3-4:
> $ echo "я" | grep -q 'я\b'; echo $?; grep --version | sed 1\!d
> 1
> GNU grep 2.6.3
>
> GNU C Library stable release version 2.7:
> $ echo "я" | grep -q 'я\b'; echo $?; grep --version | sed 1\!d
> 0
> GNU grep 2.5.3
>
> GNU C Library stable release version 2.5:
> $ echo "я" | grep -q 'я\b'; echo $?; grep --version | sed 1\!d
> 0
> grep (GNU grep) 2.5.1
>
> везде было примерно в таком духе:
> $ locale
> LANG=en_US.UTF-8
> LANGUAGE=
> LC_CTYPE="en_US.UTF-8"
> LC_NUMERIC="en_US.UTF-8"
> LC_TIME="en_US.UTF-8"
> LC_COLLATE="en_US.UTF-8"
> LC_MONETARY="en_US.UTF-8"
> LC_MESSAGES="en_US.UTF-8"
> LC_PAPER="en_US.UTF-8"
> LC_NAME="en_US.UTF-8"
> LC_ADDRESS="en_US.UTF-8"
> LC_TELEPHONE="en_US.UTF-8"
> LC_MEASUREMENT="en_US.UTF-8"
> LC_IDENTIFICATION="en_US.UTF-8"
> LC_ALL=
> замена на ru_RU.UTF-8 на результат не повлияла.

sed во всех упомянутых местах работает корректно:
$ echo "я" | sed 's/я\b/ю/'
ю


Reply to: