В общем, работает с локалью UTF-8 gawk неверно: awk '{IGNORECASE=1;if ($1~"йцу") print $1;}' <- йцуккк -> йцуккк <- йцу123 <- йцуккк (символами <- и -> обозначается ввод и вывод соотв.)
Я так догадываюсь это частный случай той самой не решённой до конца проблемы. сделайте пожайлуста testcase для отправки в upstream.
Created attachment 534 [details] Скрипт GAWK
Created attachment 535 [details] Входные данные
Created attachment 536 [details] Правильный результат
Created attachment 537 [details] Неправильный результат
В качестве частного рещения этой и кучи других проблем с coreutils в UTF8 могу порекомендовать найти на freshmeat.net "legacy toolchest" и собрать себе в ~/bin нужное. У меня есть заготовка для выдранного оттуда tr, но всё полностью опакетить я совсем морально не готов. См. тж. баги с "UTF" на coreutils.
(In reply to comment #6) > См. тж. баги с "UTF" на coreutils. Нет такой (на сегодня), было в рассылках: http://lists.altlinux.org/pipermail/devel/2006-October/037964.html
Собственно говоря, вот весь тест: echo 'Б' |gawk -vIGNORECASE=1 '$1~"б"{print}' |wc -l
(В ответ на комментарий №8) > Собственно говоря, вот весь тест: > echo 'Б' |gawk -vIGNORECASE=1 '$1~"б"{print}' |wc -l На 3.1.6 возвращает 0 => не исправлено.
(In reply to comment #6) > В качестве частного рещения этой и кучи других проблем с coreutils в UTF8 могу > порекомендовать найти на freshmeat.net "legacy toolchest" Точнее, apt-get install heirloom (In reply to comment #9) > > echo 'Б' |gawk -vIGNORECASE=1 '$1~"б"{print}' |wc -l > На 3.1.6 возвращает 0 => не исправлено. Н-да, /usr/lib/heirloom/bin/awk обломался.
Для 3.1.6-alt2 актуально; собрал на скору руку 3.1.7 -- то же. Ренат, похоже, эту багу придётся излагать апстриму. Справитесь?
gawk-3.1.8-alt1 -> sisyphus: * Thu Jun 03 2010 Dmitry V. Levin <ldv@altlinux> 3.1.8-alt1 - Updated to 3.1.8 (closes: #4911, #16359).