เมื่อฉันใช้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
คำสั่ง (อาร์กิวเมนต์ w / o) คืออะไร