>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 "УРА"
Ура
Что делать? В Гугле был.
Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
Это свободно распространяемое программное обеспечение; смотрите исходные
тексты для условий копирования. НЕ дается никакой гарантии, даже о
ПОДХОДИМОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ.