zoukankan      html  css  js  c++  java
  • LINUX统计一个文件中特定字符串出现的次数

     
    [root@bzhou test]# cat file
    hafsdha
    hahafsdfsdhaha
    haha
     
    我想匹配的是‘haha’这个字符串
    1.grep的-o选项
    [root@bzhou test]# grep -c 'haha' file
    2
     
    最开始的时候是用-c这个选项,不过-c只能统计一行的,如果一行里面有多个匹配的字符串,那-c就无能为力了。
    这个是正确的
    [root@bzhou test]# grep -o 'haha' file | wc -l
    3
     
    2. awk
    这个东西要感谢CU上的blackold。
    [root@bzhou test]# awk -v RS='haha' 'END {print --NR}' file
     
    -v 去设定一个变量的值,RS是记录的分隔符,默认的是新行( ),就是说awk按照一行一行读数据,但是现在RS为'haha'后,就按'haha'读数据了,NR为已读的记录数,n个记录是被n-1个分隔符分开的,所以就是--NR了。
    3.tr
    严格意义上说,tr匹配不了字符串,只能去匹配单个字符。这里就匹配这个文件中‘h’的个数。
    [root@bzhou test]# tr -cd 'h'
    8
    [root@bzhou test]# grep -o 'h' file | wc -l
    8
     
    -d可以删除某个字符,如果只有-d就会输出删除特定字符后的字符串,但是-c可以反显,这就是显示了被删除的字符。然后可以用wc -c去统计下字符的个数。
  • 相关阅读:
    var_threshold
    一些动态绑定数据代码
    直线与圆的拟合测量
    圆的拟合__测量圆心距
    halcon骨架与xld的区分
    dyn_threshold
    模板匹配加测量Demo
    ToString 格式
    S7-200 运动控制
    环形图片识别
  • 原文地址:https://www.cnblogs.com/akuo-123/p/8953464.html
Copyright © 2011-2022 走看看