LINUX.ORG.RU

grep и utf8


0

0

>locale
LANG=ru_RU.utf8
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES="ru_RU.utf8"
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=

>echo "Ура" | grep -i  "УРА"
<и ничего>

>echo "УРА" | grep -i  "УРА"
УРА

То есть регистр учитывается по-любому.
Вывод: grep не работает в uft8.
В других локалях работает, например koi8-r:
>echo "Ура" | grep -i  "УРА"
Ура

Что делать? В Гугле был.
☆☆

хм. У меня всё работает:

 ~$ echo "Ура"|grep "УРА"
 ~$ echo "Ура"|grep -i "УРА"
Ура

 ~$ locale
LANG=ru_RU.utf8
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES="ru_RU.utf8"
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=

 ~$ grep --version
GNU grep 2.5.3

QuietSoul
()
Ответ на: комментарий от QuietSoul

И у меня работает (Debian Stable)
$ grep --version
grep (GNU grep) 2.5.1

То: ip1981
Меняй свою слаку на Debian.

anonymous
()

Гы-гы-гы, заглянул к тебе в профиль, дествительно Слака
Вобщем патрик не асилил -- Слака RIP.

anonymous
()
Ответ на: комментарий от ip1981

Обновилсо да 2.5.3, теперь работает =)

ip1981 ☆☆
() автор топика

>Вывод: grep не работает в uft8.

Вывод - завязывай с кривобокими дистрами

kilolife ★★★★★
()

echo "Ура" | grep -i  "УРА"
Ура

# locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=ru_RU.UTF-8

# locale -a
C
en_US
en_US.utf8
POSIX
ru_RU
ru_RU.cp1251
ru_RU.koi8r
ru_RU.utf8

# uname -a
Linux home 2.6.22-gentoo-r9 #1 PREEMPT Sun Nov 11 02:58:22 MSK 2007 i686 Intel(R) Celeron(R) CPU 1.70GHz GenuineIntel GNU/Linux

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

grep --version
grep (GNU grep) 2.5.1

Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
Это свободно распространяемое программное обеспечение; смотрите исходные
тексты для условий копирования. НЕ дается никакой гарантии, даже о
ПОДХОДИМОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ.

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.