Коли я використовував cut
сьогодні, я з’ясував, що він не сприймає символ UTF-8 як персонаж, а 3 символи, тому що він має 3 байти.
Це, мабуть, справедливо для багатьох інструментів.
Чи існують версії того, coreutils
що відомо UTF-8?
Мій locale
вихід:
LANG=en_US.UTF-8
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=
Ось коли cut
це не працює
echo 哈哈 | cut -c 2-
��哈
Правильний вихід повинен бути
哈
якщо cut -c
працює з багатобайтовими символами.
cut
командного рядка?
echo ßßßß | cut -c 2-
-> �ßßß
( LANG=en_US.UTF-8
)
locale
правильно встановили ? Що читаєlocale
виклик команди (без аргументів)?