`
ajax_xu
  • 浏览: 154849 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

wc 命令详解

 
阅读更多
通常利用Linux的wc命令和其他命令结合来计算行和其他信息。
在Linux下用wc进行计数。返回文件的行数、字数、字节数等。

看个例子:

wc wc1.txt
3  5 16 wc1.txt
输出信息依次是:行数 字数 字节数 文件名称。再具体点,单个统计。

wc -m filename:显示一个文件的字符数
wc -l filename:显示一个文件的行数
wc -L filename:显示一个文件中的最长行的长度
wc -w filename:显示一个文件的字数

需要留意的:貌似wc统计的行算是用换行符来确定的。就是说最后一行要有换行符,最后wc的行数才是正确的,否则将会少一行。

为了说明这个问题,看一个perl的测试:

perl -e 'print "a"'|wc
      0       1       1
perl -e 'print "a\n"'|wc
      1       1       2

上面的例子中print命令将a打印出来,如果不带换行符\n,则认为这一行不存在。

有以下几点说明:
  1:一个汉字占三个字节(未经验证,个人认为是两个字节),一个回车符等不可见字符也占一个字节
  2:一行的末尾如果没有回车符,则不算是一行,也就是说,如果一个文件的最后一行末尾没有换行符,wc命令统计的行数会比实际行数少一,所谓实际行数是你所看到的行数,实际上,没有回车符,确实不能算作一行(注:若是在一个已存在的文本中,则默认为所有的行都有一个不可见的回车符)
  3:所谓一个字就是连续的字符,即不被空字符分割的连续的字母或者汉字算作是一个字

例如下面是一个叫abc.txt的文本,利用vi打开后的情况:(为了明细起见我们把回车符用箭头┘表示,实际中是没有的)

You are nice.
Right??


OK.

~
~
~
You are nice.┘
Right??┘


OK.

~
~
~
则:

wc  abc.txt

6     5      28   abc.txt

即6行,5个word,28个字符。我们来数一下。

包括看不见的回车符共有6行;

不被空字符分割的连续的字母共有5个,分别是You、are、nice.、Right??、OK.

字节(或字符)包含了回车符共28个。



举例:

example1:linux下如何统计一个目录下的文件个数以及代码总行数的命令

知道指定后缀名的文件总个数命令:
find . -name "*.cpp" | wc -l
知道一个目录下代码总行数以及单个文件行数:
find . -name "*.h" | xargs wc -l

example2:linux统计文件夹中文件数目

第一种方法:
ls -l|grep “^-”|wc -l

ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)。如果ls -lR|grep “^-”|wc-l则可以连子目录下的文件一起统计。

grep ^- 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

第二种方法:
find ./ -type f|wc -l

由于默认find会去子目录查找,如果只想查找当前目录的文件用find ./ -maxdepth 1 -type f|wc -l即可。

需要说明的是第二种方法会比第一种方法快很多,尤其是也统计子目录时。
example3:想知道多少个用户登录了系统?

who | wc -l

转载 http://cicikasa.blog.163.com/blog/static/13757535520101264115249/
分享到:
评论

相关推荐

    Linux sort,uniq,cut,wc命令详解

     sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。  sort语法  [root@www~]# sort [-fbMnrtuk] ...

    每天一个linux命令(40):wc命令.docx

    ### Linux wc 命令详解 #### 命令简介 `wc` 是 Linux 和类 Unix 系统中一个非常实用且强大的命令行工具,它主要用于统计文本文件中的行数、单词数、字符数和最大行长度等信息。`wc` 命令的全称是 Word Count,即...

    一天一个shell命令 linux文本操作系列-wc命令详解

    `wc` 命令是Linux系统中一个非常实用的工具,主要用于统计文本文件的行数、单词数和字符数。它的名字源自英文 "Word Count" 的缩写,功能强大且简单易用,适合在各种文本处理场景中进行快速统计。 ### wc 命令的...

    linux wc命令参数及用法详解.docx

    Linux wc 命令参数及用法详解 Linux wc 命令是 Linux 系统中一个基本的命令,用于统计指定文件中的字节数、字数、行数,并将统计结果显示输出。本文将对 Linux wc 命令的参数及用法进行详细解释。 语法:wc [选项]...

    Linux命令详解手册.pdf

    Linux命令详解手册是一份关于Linux操作系统下各种命令的权威指南,涵盖了系统管理、系统设置、文档编辑和压缩备份等众多方面的命令。这份手册详细列举并解释了每个命令的用途和使用方法,是Linux用户管理和维护系统...

    Linux主要shell命令详解.doc

    ### Linux主要Shell命令详解 #### 一、命令置换与特殊字符使用 在Linux环境中,shell命令的灵活性和强大性体现在其能够实现复杂的功能组合。其中一个关键特性是**命令置换**,即通过特定语法来获取一个命令的输出...

    Linux命令详解手册

    Linux命令详解手册是一本适合Linux新手和有一定基础的用户深入学习Linux命令的指南。它详细介绍了大量的Linux命令,涵盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面的操作。掌握这些命令对于理解和使用...

    linux命令详解阿手册PDF文档

    《Linux命令详解手册》是一份全面的Linux命令参考资料,它详细介绍了Linux系统中广泛使用的一系列命令,覆盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面。为了方便用户查阅,该手册按照命令的功能进行了...

    Linux wc命令用法详解

    Linux wc命令 Linux wc命令用于计算字数。 利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为”-“,则wc指令会从标准输入设备读取数据。 语法 wc [-clw][--help][--...

    ls命令详解

    ### Linux下的`ls`命令详解 #### 概述 `ls`命令是Linux系统中最常用的基本命令之一,用于查看文件和目录的内容。对于Linux初学者来说,熟练掌握`ls`命令的各种选项及其功能是非常重要的。 #### 基本用法 - `ls`: ...

    linux下wc统计文件的个数、行数、字数、字节数等信息方法

    ### Linux下wc命令详解:统计文件的个数、行数、字数、字节数等信息 在Linux环境中,`wc`(Word Count)命令是一个非常实用且强大的工具,用于统计文件中的各种信息,如文件的字节数、字数、行数等。通过灵活运用`...

    unix命令详解

    以下是对一些常用UNIX命令的详解: 1. **ls**:列出目录内容。`ls`命令用于查看当前目录下的文件和子目录。通过添加选项,如`-l`可以显示详细信息,`-a`显示隐藏文件。 2. **pwd**:打印工作目录。这个命令会显示...

    shell脚本1

    - **wc命令详解**:`wc` 命令主要用于统计文件中的行数、单词数和字符数。其具体用法如下: - `-l` 表示统计行数; - `-w` 表示统计单词数; - `-c` 表示统计字符数。 - **文件重定向与脚本执行**:Shell中可以...

    linux进阶版命令详解

    对使用linux的新手来说,是linux一些常用命令的一些合集,有兴趣的朋友可以看一下 1、awk详解.txt 2、crontab定时器.txt 3、sed详解.txt 4、sort-cut-wc详解.txt

    Shell 分析日志文件高效命令详解.docx

    Shell 分析日志文件高效命令详解 shell 分析日志文件是一种常见的操作系统日志记录方式,通过分析日志文件,可以获取服务器的访问情况、用户行为、系统性能等信息。本文将详细介绍 Shell 分析日志文件的高效命令...

    UNIX基本命令详解

    ### UNIX基本命令详解 #### 第一章:目录及文件操作 **1.1 `ls`** - **功能**:列出指定目录中的文件和子目录名。 - **语法**:`ls [选项] [文件或目录]` - **常用选项**: - `-l`:以长格式列出文件详情(包括...

    linux命令详解

    Linux命令详解涉及到Linux系统管理、系统设置、文档编辑以及压缩备份等多个方面,下面将详细说明这些知识点。 1. Linux系统管理命令 Linux系统管理命令主要用于对系统用户、进程、服务等进行管理。例如: - ...

    UNIX常用命令大全

    17. **wc**:统计文件的行数、单词数和字符数。 18. **split**:将大文件分割成多个小文件。 19. **touch**:更新或创建文件的访问和修改时间戳,或创建新文件。 20. **file**:识别文件类型。 21. **pack** 和 ...

Global site tag (gtag.js) - Google Analytics