文章目录

  • 前言
  • 一、使用grep命令
  • 1.1 不区分大小写统计
  • 1.2 统计多个文件
  • 1.3 统计行数
  • 1.4 统计压缩文件
  • 总结


前言

在工作中我们可以需要统计日志或者文件中某个字符出现的次数或者是行数。


一、使用grep命令

grep常用参数

-a  #不要忽略二进制数据
-A  #除了显示符合范本样式的那一行之外,并显示该行之后的内容
-b  #在显示符合范本样式的那一行之外,并显示该行之前的内容
-B  #除了显示符合样式的那一行之外,并显示该行之前的内容
-c  #计算符合范本样式的列数
-C  #除了显示符合范本样式的那一列之外,并显示该列之前后的内容
-d  #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作
-e  #指定字符串作为查找文件内容的范本样式
-E  #将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式
-f  #指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式
-F  #将范本样式视为固定字符串的列表
-G  #将范本样式视为普通的表示法来使用
-h  #在显示符合范本样式的那一列之前,不标示该列所属的文件名称
-H  #在显示符合范本样式的那一列之前,标示该列的文件名称
-i  #忽略字符大小写的差别
-l  #列出文件内容符合指定的范本样式的文件名称
-L  #列出文件内容不符合指定的范本样式的文件名称
-n  #在显示符合范本样式的那一列之前,标示出该列的编号
-q  #不显示任何信息
-R/-r #此参数的效果和指定“-d recurse”参数相同
-s  #不显示错误信息
-v  #反转查找
-V  #显示版本信息   
-w  #只显示全字符合的列
-x  #只显示全列符合的列
-y  #此参数效果跟“-i”相同
-o  #只输出文件中匹配到的部分
正则表达式
^  #匹配以XX开头的行
$  #匹配以XX结尾的行

1.1 不区分大小写统计

不区分大小写统计 aaa.txt 文件中 a 出现的次数
grep 查询出匹配到的字符,传递给 wc 统计出次数 -l是统计行数

grep -o -i 'a' aaa.txt | wc -l

样例 :

-bash-4.2$ grep -o -i '检查疲劳,轨迹调用' console-sub.log | wc -l
162978

1.2 统计多个文件

统计多个文件中某个字符出现次数总和

grep -o -i 'a' aaa.txt bbb.txt | wc -l

1.3 统计行数

我们还可以统计某个字符出现行数

grep -c 'a' aaa.txt

1.4 统计压缩文件

这里如果我们要统计 aaa.gz 压缩文件某个字符的出现次数,我们使用zgrep

zgrep -o -i 'a' aaa.txt | wc -l

总结

如果此篇文章有帮助到您, 希望打大佬们能关注点赞收藏评论支持一波,非常感谢大家!
如果有不对的地方请指正!!!