通常利用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,Linux wc命令详解相关推荐

  1. linux paste 变量,Linux下的paste合并命令详解

    paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功能刚好相反. 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同.paste将按行将不同文件行信息放在一 ...

  2. md0和md1linux软raid,linux下Raid及mdadm命令详解

    linux下Raid及mdadm命令详解 1.RAID级别:仅代表磁盘组织方式不同,没有高低之分: Raid常用种类:raid0,raid1,raid5,raid10,raid01 jbod:叠加硬盘 ...

  3. linux电脑关机命令是什么问题,linux下正常关机之命令详解 -电脑资料

    系统启动的时候生成一个文件,正常关机的时候会删除这个文件,管理过程中出现故障的机率. 步骤: 在/etc/rc.d/init.d/下编程脚本. 判断是否正常关机,和生成文件的脚本:touch-file ...

  4. 【Linux】19.Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解

    Linux环境变量名LD_LIBRARY_PATH 和 ldd命令详解 参考链接: https://www.jianshu.com/p/a62e1d327023 LD_LIBRARY_PATH中的LD ...

  5. linux压缩命令zip详解,Linux中zip压缩和unzip解压缩命令详解

    如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man.Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令.接下来是小编 ...

  6. linux mk创建文件,Linux运维知识之Linux mkkickstart建立安装的组态文件命令详解

    本文主要向大家介绍了Linux运维知识之Linux mkkickstart建立安装的组态文件命令详解,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 功能说明:建立安装的组态文件 ...

  7. 命令行模式下几个网络命令详解

    命令行模式下几个网络命令详解 上一篇 / 下一篇  2007-05-16 16:20:55 查看( 166 ) / 评论( 0 ) / 评分( 0 / 0 ) 命令行模式下几个网络命令详解 一.pin ...

  8. Linux下的压缩解压缩命令详解

    1.zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d /home ...

  9. 【Linux】基础特性与常见系统管理命令详解1

    目录 一.Linux基础特性 1.Tab 命令补全 2.快捷键的使用 3.命令行历史 4.命令别名 5.变量 变量种类 6.tee管道 7.分号: 单引号'' 双引号"" 反单引号 ...

  10. linux usermod a,linux用户管理(useradd,usermod,suerdel命令详解)

    linux用户管理(useradd,usermod,suerdel命令详解) 新增用户 使用命令 adduser 或 useradd 添加用户. Centos下useradd与adduser命令没有区 ...

最新文章

  1. Nginx、LVS及HAProxy负载均衡软件的优缺点详解
  2. Shell 变量的作用域
  3. 数据分析工具有多好用?Yonghong Z-Suite V8.8 发布,实现20余项功能新改变!
  4. 【SSL】weblogic 12c自带默认证书库密码
  5. Druid-基本概念
  6. XSS介绍_靶场DVWA,pikachu;其他XSS平台
  7. excel批量删除单元格中的部分内容
  8. Linux普通用户查看本机域名,域名的解析过程
  9. 计算机网络重置点命令,WinXP系统如何通过cmd命令对网络进行重置
  10. Elasticsearch创建索引别名
  11. assert.equal()
  12. 功能测试数据测试之错误推测方法
  13. 联想笔记本win10系统加装SSD固态硬盘,系统迁移流程
  14. win7下批处理bat文件:切换网络设置
  15. GSMA启用包容性技术实验室
  16. SPDK: Block Device Layer Programming Guide 块设备层编程指南
  17. MTK平台apnspn的配置
  18. 自然语言处理--gensim.word2vec 模块加载使用谷歌的预训练模型googlenews-vectors-negative300.bin.gz
  19. usaco training 4.4.1 Shuttle Puzzle 题解
  20. C语言学习笔记:C语言的指针函数与函数指针??

热门文章

  1. 使用SharedPreferences存储和读取数据
  2. Oracle 游标的练习
  3. word中如何对公式插入题注和引用
  4. org.springframework.data.redis.serializer.SerializationException: Cannot serialize;
  5. Python可视化神器之pyecharts
  6. go出现missing go.sum entry for module providing package 错误
  7. java源代码实例倒计时_Java倒计时三种实现方式代码实例
  8. linux将字符串转小写_小猿圈总结Linux常见命令(一)
  9. 有向加权图 最大弱连通分支_开盘引来大涨,当下股市最大的风险是它?
  10. 835 由于安全层无法对远程计算机进行身份验证_vscode 插件Remote-ssh远程wsl调试python