14 waste cost (从新手到菜鸟的Linux教程)
标题只是我在练习反缩写能力,而已。
在没有word的年代,人们怎么知道自己作文写了多少字呢(误)?总不见得一个个数吧,所以有一个小巧的程序wc
就是干这个事情的:
wang:~$ which wc
/usr/bin/wc
wang:~$ ll /usr/bin/wc
-rwxr-xr-x 1 root root 42336 10月 15 2015 /usr/bin/wc*
真的很小哎。
随便试一下:
wang:~$ ls
Desktop Downloads Music Public Videos
Documents examples.desktop Pictures Templates
wang:~$ wc examples.desktop
240 569 8980 examples.desktop
哇( ⊙o⊙ )那三个数字是什么意思啊……查一下man wc
好了:
WC(1) User Commands WC(1)
NAME wc - print newline, word, and byte counts for each file
SYNOPSIS wc [OPTION]… [FILE]… wc [OPTION]… –files0-from=F
DESCRIPTION Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified. With no FILE, or when FILE is -, read standard input. A word is a non-zero-length sequence of characters delimited by white space. The options below may be used to select which counts are printed, always in the following order: newline, word, character, byte, maximum line length.
所以它们分别代表行数,词数和字节数。
不过对于中文来说词数没有什么意义,既然wc
判定一个词的方法是没有空格字符分割,所以这样做就没有什么意义:
wang:~$ echo "中文很美,不过wc不懂" > chinese
wang:~$ cat chinese
中文很美,不过wc不懂
wang:~$ wc chinese
1 1 30 chinese
(wc
:怪我咯?)
后来估计吐槽的人实在太多,于是开发者就加上了一个统计unicode字符数的功能:
wang:~$ wc chinese -m
12 chinese
别忘了换行符也算一个字符。
这里补充一句,这个文件共30个字节,除掉换行符和wc两个英文字母,还剩下27个字节,所以每个中文字占3个字节。