我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=
Run Code Online (Sandbox Code Playgroud)
这是cut
不起作用的时候
echo ?? | cut -c 2-
???
Run Code Online (Sandbox Code Playgroud)
正确的输出应该是
?
Run Code Online (Sandbox Code Playgroud)
如果cut -c
使用多字节字符。
有时我cat
像/dev/input/event0
.
我想编写一个脚本,每次有更多输出时都会做一些事情。
更多输出的定义可能是每次读取一个字节。
那怎么办呢?有什么命令可以做到吗?