Linux中如何统计某个字符串个数?
2019-08-31 11:01
79 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wx_15323880413/article/details/100170366
在 Linux 系统下,有时候,我们可能要对一个日志文件进行分析。比如,分析日志文件中某个单词或者某个特殊字符串出现了多少次。
对于匹配统计,一般用到正则方法,下面总结了几个统计字符串个数的方法。
方法一:使用 grep 命令
[code]grep -o '字符串' file |wc -l
方法二:使用awk命令进行统计
[code]awk -v RS="@#$j" '{print gsub(/字符串/,"&")}' file
方法三:另一种使用awk命令进行统计的方法
[code]awk '{s+=gsub(/字符串/,"&")}END{print s}' file
备注:上面的 file 是要统计的文件名。上面的字符串换成你具体要统计的内容。
awk简介
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。
简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
实例
假设现在一个文件里面的内容如下:
[code][root@ihh logs]# cat test.txt userid:121212 userid:232323 userid:3434 username:3434 username:4343
然后我要统计 userid 在 test.txt 文件里出现了多少次,那么根据上面提供的命令,可以这样操作:
[code][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
相关文章推荐
- Linux下如何对端口流量进行统计
- 如何在Linux下统计高速网络中的流量
- Ruby代码:如何统计字符串的个数?
- 如何在Linux下统计高速网络中的流量
- Linux下如何统计文件数目
- Linux 统计某个字符串出现的次数
- linux下如何统计一个目录下的文件个数以及代码总行数的命令
- 6 如何统计一个字符串中特定特定字符串出现的次数
- linux之统计文件特定字符串
- linux:如何在Linux下统计高速网络中的流量
- Linux下如何统计文件数目
- 如何用SQL统计某个字符在一个字符串中出现的次数
- linux 下 统计字符串长度
- 如何在Linux下统计高速网络中的流量
- Linux 统计多个文件中 某字符串出现的行数
- linux下如何统计一个目录下的文件个数以及代码总行数的命令
- 在Linux下某一个文件夹下,如何查找包含某一个字符串的文件
- 如何统计一个文件中某个字符串的个数?
- 在Linux中,如何取出一个字符串的前5位
- Linux 统计某个字符串出现的次数