利用Linux的wc命令统计给定文件的字节数时,字节数到底是怎么算的啊?求指点啊!!!

已知:①空格、回车均占一个字节②数字按位数计算字节数,即“123”占用三个字节问题:输入:#cal062012|wc输出:839144这个144是怎么算出来的?中文字符是... 已知:①空格、回车均占一个字节
②数字按位数计算字节数,即“123”占用三个字节
问题:输入:#cal 06 2012 | wc
输出:8 39 144
这个144是怎么算出来的?中文字符是按两个字节数算吗?
展开
 我来答
lottolotto
2012-06-11 · TA获得超过725个赞
知道小有建树答主
回答量:737
采纳率:0%
帮助的人:270万
展开全部
[lotto@ftptest2 ~]$ cal 06 2012 | wc -c
148
[lotto@ftptest2 ~]$ cal 06 2012 | wc
8 39 148

解释:
六月 2012
日 一 二 三 四 五 六
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

共有7行,每行21个字符(含回车)7×21=147 +1(最后一个回车符)=148
中文由2个不可打印字符组成。
你wc不加参数,意思是8行 39个词 148个字符
追问
为什么我这儿打印出来的结果和你的不同?
追答
不同的shell版本,返回的版面略有不同的。我的是:
[lotto@ftptest2 ~]$ bash --version
bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

你可以用下面命令对照下就知道为什么了,这里-v是Linux以可以显示的字符去表达不可打印字符,所以不准确,只供参考:
[root@ftptest2 ~]# cal 06 2012 | cat -v
M-AM-yM-TM-B 2012
M-HM-U M-RM-; M-6M-~ M-HM-} M-KM-D M-NM-e M-AM-y
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

[root@ftptest2 ~]# cal 06 2012 | cat -v | wc
8 39 184
[root@ftptest2 ~]# cal 06 2012 | cat -e
M-AM-yM-TM-B 2012 $
M-HM-U M-RM-; M-6M-~ M-HM-} M-KM-D M-NM-e M-AM-y$
1 2$
3 4 5 6 7 8 9$
10 11 12 13 14 15 16$
17 18 19 20 21 22 23$
24 25 26 27 28 29 30$
$
[root@ftptest2 ~]# cal 06 2012 | cat -e | wc
8 41 192
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式