zoukankan      html  css  js  c++  java
  • linux awk 文本分析实例 [视频]

    实例:

    点我打开哔哩哔哩

    实战:

    点我打开哔哩哔哩

    以下是一个分享:
    ➜  log Time Now 16:23:35 > awk '/Installed/' yum.log* | awk -F ': ' '{ print $2,FS}' | awk '{ if($0!="") print $0 }' | awk 'BEGIN { print 123,NR  } { if($0~"(el6)") print $0 } END { print "aaa",NR }' | sed -n '1p;410,412p'
    123 0
    tcping-1.3.5-13.el6.x86_64 : 
    tmux-1.6-3.el6.x86_64 : 
    aaa 413
    
    
    awk提供了许多强大的字符串函数,见下表:
    awk内置字符串函数
    gsub(r,s)    在整个$0中用s替代r
    gsub(r,s,t)    在整个t中用s替代r
    index(s,t)    返回s中字符串t的第一位置
    length(s)    返回s长度
    match(s,r)    测试s是否包含匹配r的字符串
    split(s,a,fs)    在fs上将s分成序列a
    sprint(fmt,exp)    返回经fmt格式化后的exp
    sub(r,s)    用$0中最左边最长的子串代替s
    substr(s,p)    返回字符串s中从p开始的后缀部分
    substr(s,p,n)    返回字符串s中从p开始长度为n的后缀部分 详细说明一下各个函数的使用方法。
    
    
    gensub(a,b,c[,d])全局替换,匹配正则a, 用b替换,c为指定替换目标是第几次匹配,d为指定替换目标是哪个域如$1,$2,若无d指$0,返回值为target替换后内容(未替换还是返回 target原内容),与sub、gsub不同的是,target内容替换后不改变。
    gensub(/123/,"x",1,$1)替换$1中 第一次匹配到的123为字符x,返回值为$1替换后的内容,且$1的内容并没有改变
    gensub(/a(.*)b/,"\1",1) 返回值为匹配正则第1对()内的内容
    gensub(/a(.*)b(.*)c/,"\2",1) 返回值为匹配正则第2对()内的内容
    
  • 相关阅读:
    JSP(一)
    Servlet(二)
    Servlet(一)
    学而不思则罔,思而不学则殆
    spark运行模式之 ===> Standalone
    spark的运行模式之 ==> 本地运行模式
    Hbase Java API 测试代码
    hive的UDF函数 示例==> 时间格式转换
    自己编写MapReduce实现 Hive 的 join
    进阶程序 ==> 二次排序
  • 原文地址:https://www.cnblogs.com/itxdm/p/6891776.html
Copyright © 2011-2022 走看看