linux命令统计文件中某个字符串出现的次数

时间:2024-06-10 23:05:20

1、使用grep

linux grep命令在我的随笔linux分类里有过简单的介绍,这里就只简单的介绍下使用grep命令统计某个文件这某个字符串出现的次数,首先介绍grep命令的几个参数,详细参数请自行找资料学习。

  • -a 或 --text : 不要忽略二进制的数据。
  • -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
  • -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
  • -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
  • -c 或 --count : 计算符合样式的列数。
  • -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
  • -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

这里统计某个字符串在文件里出现的次数使用到了-c参数,请见下图案例:

语法:grep -c  'object'   fileName

案例里使用的文件:flycua-cn.19-12-13.log ,用来做统计的字符串:403

linux命令统计文件中某个字符串出现的次数

 2、使用zgrep

服务器端常有很多压缩过的日志文件,当需要查找日志中某些特定信息的时候,为了避免解压文件,可以使用zgrep,zcat等命令查找、查看压缩文件中的信息。

语法:zgrep -c  '要统计的字符串'   文件

案例里使用的文件:flycua-cn.19-12-11.log.gz ,用来做统计的字符串:403

linux命令统计文件中某个字符串出现的次数

 3、使用vim统计

用vim打开目标文件,在命令模式下,输入::%s/object/&/gn

&代表s// 搜索出来的内容
g代表全局替换(而非仅仅当前行)
n代表不执行,只是预览一下会有什么情况发生

执行前效果和执行后效果如图所示:

linux命令统计文件中某个字符串出现的次数linux命令统计文件中某个字符串出现的次数linux命令统计文件中某个字符串出现的次数

4、使用grep结合wc命令来统计文件中某个字符串出现的个数

Linux wc命令用于计算字数。

利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

参数

  • -c或--bytes或--chars 只显示Bytes数。
  • -l或--lines 只显示行数。
  • -w或--words 只显示字数。
  • --help 在线帮助。
  • --version 显示版本信息。

grep结合wc命令:

语法:grep 'object' fileName | wc -l

案例里使用的文件:flycua-cn.19-12-13.log ,用来做统计的字符串:403

linux命令统计文件中某个字符串出现的次数

只总结了自己在工作中常用的几个,希望能够提供帮助!!!