通常利用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
分享到:
相关推荐
linux wc命令应用举例.docx
linux wc命令参数及用法详解.docx
用c实现linux的 wc命令。仅限于学习参考,不能用于其它任何商业用途。版权所有,翻版必究。
Linux wc命令 Linux wc命令用于计算字数。 利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为”-“,则wc指令会从标准输入设备读取数据。 语法 wc [-clw][--help][--...
“wc”是一个linux实用命令,用来显示一个文件里的字符数、单词数和行数。如果没有指定文件,那么就统计从标准输入设备上输入的内容;如果指定了多个文件,它将依次显示各文件名及相应的统计结果。在这一题里,我们...
用C语言实现linux的wc命令,统计文件的行数,字符数,词组数,格式为my_wc filename
用与文件操作相关的系统调用及库函数实现Linux下的wc命令
每天一个linux命令(40):wc命令.docx
linux 核心命令源码(cp mv cat chgrp chown cut date df du echo env expand expr find force fs group head hostname join kill link ls mkdir mv nice od paste printf ptx rm selinux seq sleep sort split stat...
linux下大部分常用命令源码,偶正要开始学习-_- base64.c basename.c c99-to-c89.diff cat.c chcon.c chgrp.c chmod.c chown.c chown-core.c chown-core.h chroot.c cksum.c comm.c copy.c cp.c cp-hash.c csplit.c ...
对使用linux的新手来说,是linux一些常用命令的一些合集,有兴趣的朋友可以看一下 1、awk详解.txt 2、crontab定时器.txt 3、sed详解.txt 4、sort-cut-wc详解.txt
因为不耐烦反复的查,索性自己总结了一个pdf,里面包括常用的linux命令,包括gcc,grep,tar,sed,find,screen,nohup,scp等,另外还有一些常用的文本处理命令如cat,split,head,tail,uniq,wc,more,less等。
1、查看file的字节数、字数及行数信息 2、查看当前文件夹下文件数量 3、统计多个文件信息
Linux文本编辑命令文档,例如ed、vi、cut、fmt、wc、less、more等
wc是一个用于统计的工具,全拼为:Word Count(单词统计) 实例: 1. 统计行数 $wc –l file 2. 统计单词数 $wc –w file 3. 统计字符数 $wc –c file 4. 统计流中的字符数 $echo –n 1234 | wc –c 输出:4 解读–...
Linux基础命令 的 PDF版本 1.时间相关命令 date;cal 2.echo命令 3.帮助命令 clear; wc; info cat 4.历史命令 history 5.产看根目录命令 cd;ll;ls 6.文件显示命令 cat; more;文件头部跟尾部的获取 head ;tail
windows下可以使用linux命令的工具, 如zip\awk\cat\cp\curl\chown\chomd\date\cut\dd\dc\df\find\join\ll\patch\rm\printf\wc等等基础linux 使用命令,方便windows下开发人员使用,提升开发效率。
linux常用命令 注意:1、代表是必填项,[]表示是选填项。真正填入的时候不需要加和[];2、本文命令以cenos7为例进行测试。 〇、连接远程linux主机 使用ssh命令(linux主机需要开启ssh服务):ssh <用户名>@<主机IP>...
Linux网络操作系统基础:文件处理wc、sort和diff命令.pptx
sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。 sort语法 [root@www~]# sort [-fbMnrtuk] ...