LINUX.ORG.RU

Ожидал что явное указание LC_COLLATE перед uniq может помочь, но не сработало.

Так что вижу такой вариант:

$ printf "привет\nПРИВЕТ\n" | awk '{print tolower($0)}' | sort | uniq
привет
Tanger ★★★★★
()

Пропатчить coreutils для полноценной поддержки юникода. В красношапочных работает, например. Почему это столько лет не в апстриме — хз.

anonymous
()

$ printf "hello\nHELLO\n" | sort --ignore-case | uniq --ignore-case

Поправил:
$ printf "hello\nHELLO\n" | sort --ignore-case -u

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

да, так норм, думал чтото иное есть (ключ к uniq например), но пока и сойдет

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

Ты что, хочешь чтобы coreutils тянули за собой многомегабайтное libicu? Не будет такого в норм дистрах.

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

Понятное дело с memcasecmp юникод не получится. Но без libicu он полноценно тоже не получится. Т.к. libicu там нет, то это в той или иной степени костыль с ограниченной поддержкой юникода. Я такой подход ни в коем случае не осуждаю - libicu тащить в системные утилиты и правда незачем.

firkax ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.