Kiedy używałem cutdzisiaj, dowiedziałem się, że nie traktuje znaku UTF-8 jako znaku, ale 3 znaki, ponieważ ma 3 bajty długości.
Wydaje się to być ogólnie prawdą w przypadku wielu narzędzi.
Czy istnieją wersje, coreutilsktóre obsługują UTF-8?
Moja localeprodukcja:
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=
Oto kiedy cutnie działa
echo 哈哈 | cut -c 2-
��哈
Właściwe wyjście powinno być
哈
jeśli cut -cpracował ze znakami wielobajtowymi.
cutwiersza poleceń?
echo ßßßß | cut -c 2--> �ßßß( LANG=en_US.UTF-8)
localepoprawnie? Jaka jest interpretacjalocalewywołania komendy (bez argumentów)?