Когда я использовал cutсегодня, я обнаружил, что это не символ UTF-8 как символ, а 3 символа, потому что его длина составляет 3 байта.
Похоже, что это в целом верно для многих инструментов.
Существуют ли версии с поддержкой coreutilsUTF-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(без аргументов) вызова команды?