0
点赞
收藏
分享

微信扫一扫

wc -m命令在统计字符数的时候为什么总是多一个?


这是知乎上一个小伙伴的提问,原问题如下:

wc -m命令在统计字符数的时候为什么总是多一个?_字节数

看到这个问题,我的第一反应就是,应该是有换行符或者结尾符的存在。
计算机行业最大的好处就是可以复现,那我们来复现一下:

按照你说的,我们来测试下:

[root@laoxin-06 ~]# cat a.txt
aaa b

可以看到一共5个字符,当我们去使用wc -m 和wc -c查看的时候

[root@laoxin-06 ~]# wc -c a.txt
6 a.txt
[root@laoxin-06 ~]# wc -m a.txt
6 a.txt
[root@laoxin-06 ~]#

结果都为6,所以你的困惑就是为什么我们看到的aaa b一共5个字符,结果查出来的都显示6个。
教你一个方法,从计算机的视角看到底有几个字符:

[root@laoxin-06 ~]# cat -A a.txt 
aaa b$

可以看到在b后面有个$, 所以一共是6个字符哈。
或者我们可以用另外一种方式:

vi -b a.txt  然后进入后设置:set list

wc -m命令在统计字符数的时候为什么总是多一个?_wc_02

结果也是6个,如图中那里有个$

这下疑问解开了,还有问题,欢迎留言哦。

这里补充一个小知识点:

文中提到的-c 和 -m 分别表示:

wc -c filename:显示一个文件的字节数

wc -m filename:显示一个文件的字符数


举报

相关推荐

0 条评论