利用Linux的wc命令统计给定文件的字节数时,字节数到底是怎么算的啊?求指点啊!!!
已知:①空格、回车均占一个字节②数字按位数计算字节数,即“123”占用三个字节问题:输入:#cal062012|wc输出:839144这个144是怎么算出来的?中文字符是...
已知:①空格、回车均占一个字节
②数字按位数计算字节数,即“123”占用三个字节
问题:输入:#cal 06 2012 | wc
输出:8 39 144
这个144是怎么算出来的?中文字符是按两个字节数算吗? 展开
②数字按位数计算字节数,即“123”占用三个字节
问题:输入:#cal 06 2012 | wc
输出:8 39 144
这个144是怎么算出来的?中文字符是按两个字节数算吗? 展开
1个回答
展开全部
[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个字符
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |