Коли я використовував 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виклик команди (без аргументів)?