Quando l'ho usato cut
oggi, ho scoperto che non tratta un personaggio UTF-8 come un personaggio, ma 3 caratteri perché è lungo 3 byte.
Questo sembra essere generalmente vero per molti strumenti.
Esistono versioni di coreutils
UTF-8 a conoscenza?
La mia locale
uscita:
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=
Ecco quando cut
non funziona
echo 哈哈 | cut -c 2-
��哈
L'output giusto dovrebbe essere
哈
se ha cut -c
funzionato con caratteri multibyte.
cut
riga di comando?
echo ßßßß | cut -c 2-
-> �ßßß
( LANG=en_US.UTF-8
)
locale
correttamente? Qual è la letturalocale
dell'invocazione di comandi (senza argomenti)?