Linux高效数据统计命令wc

wc(world count)是一个统计文件字词,字节,行数的命令,它可以帮我们非常方便的统计以上信息。

主要参数

常见参数如下:

  • -c 统计字节数。
  • -l 统计行数。
  • -m 统计字符数。这个标志不能与 -c 标志一起使用。
  • -w 统计字数。注意,这里的字指的是由空格,换行符等分隔的字符串。

我们接下来直接看几个实例。

统计文件行数,词数和字节数

$ wc test.txt 
1 1 7 test.txt

打印结果表明该文件有1行,1个词,7字节。

要特别提醒的是,这里的词是以空格,换行符等分隔开的字符串,也就是说

words 字词

这里只有两个词。

仅统计文件行数,词数,字符数或字节数

仅统计单项内容时,仅需要带上对应的参数即可,例如:

$ wc -l test.txt
1 test.txt

使用-l参数,使得只显示行数。

但是这里特别要注意的是字符数和字节数的区别。字节数是数据占用的空间大小,而一个字符可能占多个字节,例如,UTF-8编码中,一个英文字母就是一个字符,占用空间一个字节,而一个中文,则占用3字节大小。

举个例子:

编程

编程,在这里是两个字符,而占用空间是6字节,但是使用wc -m统计会比两个多一个,是3个字符。

$ echo 编程|wc -m
3
$ echo 编程|wc -c
7

各编码字符占用字符情况如下:

编码 英文字母 中文
UTF-8 1字节 3字节
Unicode 1字节 2字节

你可以使用:

$ echo $LANG
en_GB.UTF-8

查看编码格式。

统计命令执行结果数量

实际上个人认为,最常用的还是-l参数,它用来统计文件或标准输出有多少行,那么实际上就可以用来做很多统计的事情了。

例如,统计当前目录下有多少个普通文件:

$ ls -l
total 4
-rw-rw-r-- 1 hyb hyb  0 3月  21 20:32 test2.txt
-rw-rw-r-- 1 hyb hyb 13 3月  21 20:18 test.txt
$ ls -l |grep "^-"|wc -l
2

可以得到文件数量为2。grep "^-"的意思是,获取哪些以-开头的行,因为普通文件都是以-开头的。

当然如果想统计包括子目录的总文件数量,可以加上-R参数:

ls -lR |grep "^-"|wc -l

再例如,查看chrome相关进程数量:

$ ps -ef|grep google|grep -v grep |wc -l
23

类似这样的用法还有很多,只要你想统计都可以做。

这里再多说两句:

  • |是管道符,ls -l|wc -l表示将ls -l的结果传给wc命令处理
  • grep用于文本查找,grep "a",表明查找包含a的行,而grep -v "b",表明过滤包含b的行。

总结

wc命令可用于统计行数,字节数和字符数等,而用于统计命令执行结果的数量的时候非常有效。

原文地址:https://www.cnblogs.com/legendjaking/p/10740403.html

时间: 2024-11-08 19:06:38

Linux高效数据统计命令wc的相关文章

【Linux】统计命令wc

如果我想要知道 /etc/man.config 这个文件里面有多少字?多少行?多少字符的话, 可以怎么做呢?其实可以利用 wc 这个命令来达成喔!他可以帮我们计算输出的信息的整体数据! [[email protected] ~]# wc [-lwm] 选项与参数: -l :仅列出行: -w :仅列出多少字(英文单字): -m :多少字符: 范例一:那个 /etc/man.config 里面到底有多少相关字.行.字符数? [[email protected] ~]# cat /etc/man.co

Linux——高效玩转命令行

[0]统计文件or压缩文件的行数 zcat file.gz | sed -n '$='   #迅速.直接打印出多少行.-n 取消默认的输出,使用安静(silent)模式    '$='  不知道是什么意思,(知道的高手,请留言噢,qqq). zcat file.gz | awk  'END{print NR}'    # 迅速.解压打开文件,输出文件最后一行行号 zcat file.gz | grep -n "" |awk -F : 'END{print $1}'  #迅速.解压打开文

Linux rsync数据同步命令解析

rsync命令 rsync有六种不同的工作模式: 1)拷贝本地文件.当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式. rsync -a /data /backup 2)使用一个远程shell程序(如rsh.ssh)来实现将本地机器的内容拷贝到远程机器.当DST路径地址包含单个冒号":"分隔符时启动该模式. rsync -avz *.c foo:src 3)使用一个远程shell程序(如rsh.ssh)来实现将远程机器的内容拷贝到本地机器.

文本统计命令——wc

wc的作用:显示每一个文件的行数(line).单词数(word)和字节数(byte) 选项: -l:显示行数 -w:显示单词数 -c:显示字节数 示例: [[email protected] ~]# wc /etc/issue  3  9 47 /etc/issue [[email protected] ~]# [[email protected] ~]# wc -l /etc/issue 3 /etc/issue [[email protected] ~]# wc -w /etc/issue

[linux time命令学习篇] time 统计命令执行的时间

注意: 命令后面一定要有分号; http://codingstandards.iteye.com/blog/798788 用途说明 time命令常用于测量一个命令的运行时间,注意不是用来显示和修改系统时间的(这是date命令干的事情).但是今天我通过查看time命令的手册页,发现它能做的不仅仅是测量运行时间,还可以测量内存.I/O等的使用情况,手册页上的说法是time a simple command or give resource usage,其中time一词我认为它应该是测量或测定的意思,

详解Linux高效命令head、tail和cat

Linux中提供了多种命令和程序用于浏览文件.无论对于新手.普通用户.高级用户.开发人员还是管理员来说,与诸多文件打交道都是一项艰巨的任务.而如何做到高效更称得上是一门艺术. 今天就让我们来探讨几个最常使用的命令head.tail和cat,多数人对他们都有所了解,但这其中绝大部分人在真正使用的时候恐怕就不知所措了. 1. head head命令用于获取一个文件的前10行内容.其基本的语法格式如下: 1 head [options] [file(s)] 如下面的命令会打印出“/etc/passwd

〖Linux〗使用sed命令修改小端(little endian)存储的数据

1 #!/bin/bash - 2 #=============================================================================== 3 # 4 # FILE: hex_change.sh 5 # 6 # USAGE: ./hex_change.sh 7 # 8 # DESCRIPTION: 9 # 10 # OPTIONS: --- 11 # REQUIREMENTS: --- 12 # BUGS: --- 13 # NOTES:

linux基础及常用命令的使用

linux系统是一个主要使用命令进行日常工作的系统,所以了解并熟练掌握常用命令的使用是进入linux大门的基本,以下便是linux学习过程中学习的常用的命令的用法: linux的日常管理工作一般有如下几个部分,下面通过这几个方面的管理工作来整理与其相关的常用命令: 一  shell的介绍 1.普通用户需要直接使用计算机系统提供的功能,是非常困难的,因为计算机系统能接收的指令和人发出的指令是不相同的,因此需要在计算机系统及用户之间建立一个可以将相互的指令进行"翻译"的功能.shell就是

Linux的经典shell命令整理

Linux的经典shell命令整理 1.删除0字节文件find -type f -size 0 -exec rm -rf {} \; 2.查看进程按内存从大到小排列ps -e -o “%C : %p : %z : %a”|sort -k5 -nr 3.按cpu利用率从大到小排列ps -e -o “%C : %p : %z : %a”|sort -nr 4.打印说cache里的URLgrep -r -a jpg /data/cache/* | strings | grep “http:” | aw