本原创文章属于《Linux大棚》博客,博客地址为http://roclinux.cn。文章作者为rocrocket。
为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅。

===

[正文开始]

今天的内容是Linux的wc命令,这个名字很好记,因为什么,你也知道。

这个命令的功能也很好记,因为它功能很有限:

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

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

wc -l filename:显示一个文件的行数

wc -L filename:显示一个文件中的最长行的长度

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

[rocrocket@rocrocket programming]$ cat wc1.txt
1 2
34 5
你好
[rocrocket@rocrocket programming]$ wc -c wc1.txt
16 wc1.txt
[rocrocket@rocrocket programming]$ wc -m wc1.txt
12 wc1.txt
[rocrocket@rocrocket programming]$ wc -l wc1.txt
3 wc1.txt
[rocrocket@rocrocket programming]$ wc -L wc1.txt
4 wc1.txt
[rocrocket@rocrocket programming]$ wc -w wc1.txt
5 wc1.txt

每行结尾的换行符也算一个字符,空格也算一个字符。

由于采用UTF-8编码,所以一个汉字在这里被转换为3字节,所以wc -c显示的结果是16,即“第一行的4个字节+第二行的5个字节+第三行的7个字节”=4+5+7=16。

而当使用-m选项时,一个汉字就作为一个字符计算,所以是4+5+3=12。

当使用-L时,是给出最长行的长度,第二行最长,有4个字符长。(显然是不把换行符计算在内)

使用-w是计算字数,一个字是一个word,所以“34”表示一个word,一个“你好”表示一个word,因此2+2+1=5。

插孔说说tab制表符,这个符号比较特殊,当使用-L时,制表符算7个字符(这要依据一个制表符的长度而定,在我的系统中一个制表符算7个空格长 度,)。而当使用-w时,制表符和空格没有两样,都作为字的间隔来看待。当用-c时,一个制表符也就算一个字符(我认为这里应该写字节而不是字符,-c求得是字节数),因为它的确就只是一个字符而已。

如果你直接执行wc wc1.txt,则显示:

[rocrocket@rocrocket programming]$ wc wc1.txt
3  5 16 wc1.txt

输出信息依次是:行数 字数 字节数 文件名称。

《wc》-linux命令五分钟系列之十七的更多相关文章

  1. 《sed的流艺术之四》-linux命令五分钟系列之二十四

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  2. 《sed的流艺术之三》-linux命令五分钟系列之二十三

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  3. 《sed的流艺术之二》-linux命令五分钟系列之二十二

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  4. 《sed的流艺术之一》-linux命令五分钟系列之二十一

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  5. 《paste命令》-linux命令五分钟系列之二十

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  6. 《vi中的替换艺术》-linux命令五分钟系列之十一

    vi方面的内容不知道分类到哪里好,就放到<Linux命令五分钟系列>里吧! 今天编程,关于栈的一个小例子,其间我需要把”S.”替换为”S->”(替换不包括双引号). 其实这个不难,不 ...

  7. 《sort帮你排序》-linux命令五分钟系列之二十六

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  8. 《gzip命令》-linux命令五分钟系列之七

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...

  9. 《作业控制系列》-“linux命令五分钟系列”之十

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...

随机推荐

  1. JavaScript高级程序设计28.pdf

    classList属性 在操作类名时需要通过className属性添加.删除和替换类名 <div class="bd user disabled">...</di ...

  2. [LeetCode] Interleaving String 解题思路

    Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example,Given:s1 = ...

  3. Spark RDD概念学习系列之rdd持久化、广播、累加器(十八)

    1.rdd持久化 2.广播 3.累加器 1.rdd持久化 通过spark-shell,可以快速的验证我们的想法和操作! 启动hdfs集群 spark@SparkSingleNode:/usr/loca ...

  4. Tab选项卡切换卡JS效果

    <script type="text/javascript"> /* tab切换选项卡js效果 writed by *** 2010.08.13 1.currentid ...

  5. PHP 遍历文件目录

    /********************** 一个简单的目录递归函数 第一种实现办法:用dir返回对象 ***********************/ function tree($directo ...

  6. 用chrome按F12抓包 页面跳转POST一瞬间就闪没了

  7. repeater灵活运用、repeater的commmand用法、如何不用repeater展示数据

    实体类: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <su ...

  8. 关于css命名规范

    1 newsHeader-logo,第一个单词小写,第二个单词大写,第三个单词加-

  9. php 燕十八 观察者模式代码例子

    <?php class user implements SplSubject { public $lognum; public $hobby; protected $observers=null ...

  10. ByteBuffer使用之道

    缓冲区分配和包装  在能够读和写之前,必须有一个缓冲区,用静态方法 allocate() 来分配缓冲区:  ByteBuffer buffer = ByteBuffer.allocate(1024); ...