Kiedy używałem cut
dzisiaj, 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, coreutils
które obsługują UTF-8?
Moja locale
produkcja:
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 cut
nie działa
echo 哈哈 | cut -c 2-
��哈
Właściwe wyjście powinno być
哈
jeśli cut -c
pracował ze znakami wielobajtowymi.
cut
wiersza poleceń?
echo ßßßß | cut -c 2-
-> �ßßß
( LANG=en_US.UTF-8
)
locale
poprawnie? Jaka jest interpretacjalocale
wywołania komendy (bez argumentów)?