22.08.2013, 11:27, "[email protected]" <[email protected]>: > квантификаторы \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/ю/' ю -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

