wc -c
似乎只做一个哑字节计数,而不是解释有关编码的实际字符。
我怎样才能得到实际的字符数?
使用-m
或--chars
选项。
例如(text
文件包含两个韩文字符和换行符):
falsetru@jmlee12:~$ cat text
안녕
falsetru@jmlee12:~$ wc -c text
7 text
falsetru@jmlee12:~$ wc -m text
3 text
根据wc(1)
:
-c, --bytes print the byte counts -m, --chars print the character counts
不要混淆字符、char
s 和字节。一个字节是 8 位长,-c
无论你输入什么,它都会计算文件中的字节数。char
许多编程语言中的 A 也是 8 位长,这就是为什么使用字节计数-c
!如果您想计算文件中有多少给定字母表的字符(字符),那么您需要以某种方式指定使用了哪种字符编码,有时,该编码使用超过一个字节的字符. 阅读手册wc
,它将告诉您-m
将使用您当前的语言环境(大致是您的语言/字符集首选项)来解码文件并计算您的字符数。