在 Linux 系统使用中,我们经常需要查看或统计文本文件中的行数,字数,字节数等内容,那么怎么快捷的统计出文件中这些关键数据呢。

在Linux系统中这统计非常方便,只需要简单的几个命令就可以搞定,这个命令就是 wc。

首先我们介绍下 wc 这个命令:

wc --help

用法:wc [选项]... [文件]...

或:wc [选项]... --files0-from=F

输出每个指定文件的行数、单词计数和字节数,如果指定了

多于一个文件,继续给出所有相关数据的总计。如果没有指定

文件,或者文件为"-",则从标准输入读取数据。

-c, --bytes 输出字节数统计

-m, --chars 输出字符数统计

-l, --lines 输出行数统计

--files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被

指定为"-"则从标准输入读文件名

-L, --max-line-length 显示最长行的长度

-w, --words 显示单词计数

--help 显示此帮助信息并退出

--version 显示版本信息并退出

帮助说明中简介明白的介绍了wc的用法,我们来举例说明下:

1、获取文件中行数

wc -l app.log

输出

455452 app.log

2、获取文件中单词数

wc -w app.log

输出

4855263 app.log

3、获取文件中字节

wc -c app.log

输出

95169019 app.log

是不是很简单呢。

查询文件的行数或字数只是个简单的需求场景,有时候我们其实是要获取多少匹配关键字的行数,那么这种情况如何实现呢,这种情况我们需要使用另外一个grep命令来配置wc来完成我们的需求场景。

首先我们看看grep这个命令:

grep --help

用法: grep [选项]... PATTERN [FILE]...

在每个 FILE 或是标准输入中查找 PATTERN。

默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。

例如: grep -i 'hello world' menu.h main.c

正则表达式选择与解释:

-E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)

-F, --fixed-strings PATTERN 是一组由断行符分隔的定长字符串。

-G, --basic-regexp PATTERN 是一个基本正则表达式(缩写为 BRE)

-P, --perl-regexp PATTERN 是一个 Perl 正则表达式

-e, --regexp=PATTERN 用 PATTERN 来进行匹配操作

-f, --file=FILE 从 FILE 中取得 PATTERN

-i, --ignore-case 忽略大小写

-w, --word-regexp 强制 PATTERN 仅完全匹配字词

-x, --line-regexp 强制 PATTERN 仅完全匹配一行

-z, --null-data 一个 0 字节的数据行,但不是空行

Miscellaneous:

-s, --no-messages suppress error messages

-v, --invert-match select non-matching lines

-V, --version print version information and exit

--help display this help and exit

--mmap ignored for backwards compatibility

Output control:

-m, --max-count=NUM stop after NUM matches

-b, --byte-offset print the byte offset with output lines

-n, --line-number print line number with output lines

--line-buffered flush output on every line

-H, --with-filename print the filename for each match

-h, --no-filename suppress the prefixing filename on output

--label=LABEL print LABEL as filename for standard input

-o, --only-matching show only the part of a line matching PATTERN

-q, --quiet, --silent suppress all normal output

--binary-files=TYPE assume that binary files are TYPE;

TYPE is `binary', `text', or `without-match'

-a, --text equivalent to --binary-files=text

-I equivalent to --binary-files=without-match

-d, --directories=ACTION how to handle directories;

ACTION is `read', `recurse', or `skip'

-D, --devices=ACTION how to handle devices, FIFOs and sockets;

ACTION is `read' or `skip'

-R, -r, --recursive equivalent to --directories=recurse

--include=FILE_PATTERN search only files that match FILE_PATTERN

--exclude=FILE_PATTERN skip files and directories matching FILE_PATTERN

--exclude-from=FILE skip files matching any file pattern from FILE

--exclude-dir=PATTERN directories that match PATTERN will be skipped.

-L, --files-without-match print only names of FILEs containing no match

-l, --files-with-matches print only names of FILEs containing matches

-c, --count print only a count of matching lines per FILE

-T, --initial-tab make tabs line up (if needed)

-Z, --null print 0 byte after FILE name

Context control:

-B, --before-context=NUM print NUM lines of leading context

-A, --after-context=NUM print NUM lines of trailing context

-C, --context=NUM print NUM lines of output context

-NUM same as --context=NUM

--color[=WHEN],

--colour[=WHEN] use markers to highlight the matching strings;

WHEN is `always', `never', or `auto'

-U, --binary do not strip CR characters at EOL (MSDOS)

-u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)

‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’。

直接使用‘egrep’或是‘fgrep’均已不可行了。

不带 FILE 参数,或是 FILE 为 -,将读取标准输入。如果少于两个 FILE 参数

就要默认使用 -h 参数。如果选中任意一行,那退出状态为 0,否则为 1;

如果有错误产生,且未指定 -q 参数,那退出状态为 2。

我们通过如下命令方式来实现查询匹配到关键字’error’中文件行数。

grep 'error' app.log |wc -l

是不是很简单,如果希望了解更多,不妨通过man命令来查看你想了解的命令吧。

作者:等会再说

linux 查看文件字数,Linux 中如何查看文件的行数,字数,字节数相关推荐

  1. matlab中取文件名函数,matlab从文件夹名中获取该文件夹下所图像文件名

    matlab从文件夹名中获得该文件夹下所图像文件名 function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_F ...

  2. matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具

    matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具 源码可见,解密P ID:22600679158222577美丽小飞侠大队

  3. word2013插入excel对象报错_excel插入对象文件夹 Excel2013中插入对象文件的方法

    excel插入对象文件夹 Excel2013中插入对象文件的方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置excel插入对象 ...

  4. R语言处理数据——删除文件某列中包含某元素的行

    删除文件某列中包含某元素的行 代码: # 挑选出列名为col中元素为delete的行数 del <- which(data$col=="delete") # 删除这些行 da ...

  5. matlab从文件夹名中获得该文件夹下所图像文件名

    function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_FileNameFromFolderPath(path ...

  6. 进阶指令——wc指令【作用:统计文件内容信息(包含行数、单词数、字节数)】、date指令【作用:表示操作时间日期(读取、设置)】、cal指令【作用:用来操作日历的】、clear/ctrl + L指令

    6.wc指令 作用:统计文件内容信息(包含行数.单词数.字节数) 语法:#wc -l                wc 需要统计的文件路径 -l:表示lines,行数 -w:表示words,单词数 ...

  7. php查看CPU信息,Linux_Linux中如何查看CPU的信息,top命令是Linux下常用的性能分 - phpStudy...

    Linux中如何查看CPU的信息 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. top - 02: ...

  8. Linux查看文件字节数、行数、大小【shell获取文件行数、字节数】

    wc xxx.dat wc xxx.dat:使用wc可以查看文件的信息,信息内容对应的分别是 行数 单词数 字节数 文件名 使用awk可以获取对应的值: wc xxx.dat |awk '{print ...

  9. Linux命令之统计文件字数、字符数、字节数及行数信息wc

    概述 wc 命令用于统计指定文件中的字节数.字数.行数,并将统计结果显示输出.wc 是 word count 的缩写. 该命令统计指定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取. ...

  10. linux 多级目录查找,Linux如何在多级目录中查找某个文件

    Linux在多级目录中查找某个文件的方法:find /dir -name filename.ext du -a | grep filename.ext locate filename.ext Linu ...

最新文章

  1. Error in install.packages : cannot remove prior installation of package
  2. jQuery的延迟对象
  3. 机会只留给有准备的人
  4. 在html语言中frame,html Frame、Iframe、Frameset 的区别
  5. mac上php环境_在Mac系统下配置PHP运行环境
  6. c语言综合程序设计问答题,C语言程序设计综合习题题目.doc
  7. VTK:图表之RemoveIsolatedVertices
  8. Maven resource artifact download url population logic naming convention
  9. php默认日志位置,Laravel 修改默认日志文件名称和位置的例子
  10. 服务器Windows 2008 R2 安装SQL 2008 R2
  11. AMP+EPP3.0的开发环境配置
  12. 理解结构与表现相分离
  13. java中输出日历_Java:输入年份和月份打印出相应的日历表
  14. 证件照处理:一寸照片换底色
  15. 彩信猫 发送彩信失败_在彩信上为人类摆姿势
  16. 5-10 计算存款利息 (10分)
  17. 通往古埃及文明的钥匙 ———— 罗塞塔石碑
  18. 解决mysql的赋权操作之GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION问题
  19. C语言与机器人 plc的关系,工业机器人、PLC与自动化三者之间有什么关系
  20. 一个股市小白学习炒股的心得体会

热门文章

  1. Proxifier逆向分析(Mac)
  2. 异常详细信息: System.Runtime.InteropServices.COMException: 异常来自 HRESULT:0x800A03EC
  3. 【数据结构与算法】期末考试必考重点复习知识指示
  4. 三分钟了解Spring Cloud Gateway路由转发之自动路由
  5. 学习记录673@项目管理之进度管理案例
  6. jira修改配置项 每天工作时长
  7. IP、子网掩码、网关
  8. 数电实训-八路电子抢答器的设计
  9. c语言如何引入第三方库,在Rust中,如何从第三方库定义或导入C结构体?
  10. 使用python提取轮廓做定制的毛笔字帖