кириллица и grep/eglibc
квантификаторы \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 на результат не повлияла.
Reply to: