Linux中如何统计某个字符串个数?

简介: 在 Linux 系统下,有时候,我们可能要对一个日志文件进行分析。比如,分析日志文件中某个单词或者某个特殊字符串出现了多少次。

Linux 系统下,有时候,我们可能要对一个日志文件进行分析。比如,分析日志文件中某个单词或者某个特殊字符串出现了多少次。


对于匹配统计,一般用到正则方法,下面总结了几个统计字符串个数的方法。


方法一:使用 grep 命令


grep -o '字符串' file |wc -l

方法二:使用awk命令进行统计


awk -v RS="@#$j" '{print gsub(/字符串/,"&")}' file

方法三:另一种使用awk命令进行统计的方法


awk  '{s+=gsub(/字符串/,"&")}END{print s}' file

备注:上面的 file 是要统计的文件名。上面的字符串换成你具体要统计的内容。


awk简介


awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。


简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。


实例


假设现在一个文件里面的内容如下:


[root@ihh logs]# cat test.txt 
userid:121212
userid:232323
userid:3434
username:3434
username:4343

然后我要统计 userid 在 test.txt 文件里出现了多少次,那么根据上面提供的命令,可以这样操作:


[root@ihh logs]# grep -o 'userid' test.txt |wc -l
3

[root@ihh logs]# awk -v RS="@#$j" '{print gsub(/userid/,"&")}' test.txt
3

[root@ihh logs]# awk '{s+=gsub(/userid/,"&")}END{print s}' test.txt
3



云服务器ECS地址:阿里云·云小站
相关文章
|
29天前
|
JavaScript 关系型数据库 Shell
Linux shell编写技巧之随机取字符串(一)
本文介绍了Linux Shell脚本的编写技巧,包括环境配置、变量命名规则和缩进语法,并提供了一个实例练习,展示如何使用`$RANDOM`变量和`md5sum`命令来生成随机的8位字符串。
33 4
|
28天前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
1月前
|
Linux Perl
Linux进行文件字符串替换
【8月更文挑战第5天】Linux进行文件字符串替换
246 3
|
30天前
|
Shell Linux Perl
在Linux中,编写一个shell脚本,用于统计指定目录下所有文件的行数。
在Linux中,编写一个shell脚本,用于统计指定目录下所有文件的行数。
|
2月前
|
Linux
linux网络统计信息和端口占用情况基本语法
linux网络统计信息和端口占用情况基本语法
|
2月前
|
Linux PHP
linux查找指定目录下包含指定字符串文件,包含子目录
linux查找指定目录下包含指定字符串文件,包含子目录
29 1
|
3月前
|
Oracle 关系型数据库 MySQL
深入了解 Linux 命令 `db_stat`:数据库统计信息的获取
本文模拟了 Linux 环境下使用 `db_stat` 命令获取数据库统计信息的场景,实际上`db_stat`是特定数据库系统的自定义工具。文章通过示例展示了如何针对Oracle、PostgreSQL和MySQL使用各自内置命令收集统计信息,强调了权限、性能影响和数据实时性等因素,并指出这些信息对优化数据库管理至关重要。
|
2月前
|
Linux Perl
linux 批量查找并替换文件里的指定字符串,linux 批量查找并替换当前目录下所有子目录内文件里的指定字符串
linux 批量查找并替换文件里的指定字符串,linux 批量查找并替换当前目录下所有子目录内文件里的指定字符串
29 0
|
4月前
|
运维 Linux Docker
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
ChatGLM3在Docker环境部署,Linux运维免打包多渠道统计如何实现
|
3月前
|
Shell Linux
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值
42 0