zoukankan      html  css  js  c++  java
  • 每日一题2求一个文件里面指定字符出现的次数

    求一个文件里面指定字符出现的次数:
    我们使用/ect/passwd文件来模拟,我们取出文件中:出现的次数

    [root@web01-7 /]# cp /etc/passwd /tmp/
    [root@web01-7 /]# awk '{Num=gsub(/:/,":",$0);sum = sum + Num}END{print sum}' /tmp/passwd 
    156
    

    1,第一个里程碑

    awk中有个替换函数gsub这个函数可以替换指定字符串,并返回替换操作的次数,我们可以使用这个来来文件中的":"替换成":"然后让他返回替换了多少次,我们就能统计出来出现了多少次

    2,第二个里程碑

    了解gsub的语法格式:
    替换:gsub(/要替换的字符串/,"替换成的字符串",在哪个地方替换)
    替换的次数:Num = gsub(/要替换的字符串/,"替换成的字符串",在哪个地方替换)

    3,第三个里程碑

    了解了上面两个我们就能完整上述的那个表达式了,为什么要在最后面输出END呢?因为我们对sum进行了累加,再有在末行模式才能统计出来出现的所有次数

    4,优化上述表达式

    [root@web01-7 /]# awk '{sum = sum + gsub(/:/,"",$0)}END{print sum}' /tmp/passwd  
    156
    

    总结

    1,awk中的gsub替换所有的符合的字符串,相当于sed的“s###g”
    2,awk中的sub只替换第一次匹配的字符串,相当于sed的“s###”

  • 相关阅读:
    Makefile编写
    C++静态库与动态库
    C语言编译过程详解
    Fiddler抓HTTPS
    web测试的一些关注点
    Appium使用过程中的一些坑
    Jmeter+Maven+Jenkins的搭建笔记
    华为DHCP+VLANDHCP RELAY配置重点
    华为GVRP配置重点
    802.11协议总结
  • 原文地址:https://www.cnblogs.com/shoufu/p/9762357.html
Copyright © 2011-2022 走看看