==================AWK===================
AWK简介:awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,                   以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理;awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的
                  GNU版本。

(1)域分隔符:awk在没有使用-F指定分割符时,默认以空格为分割符;
           域分割 $0代表文本内容全文显示;
         $1 代表分割第一个域;
                          $2 代表分割第二个域;
         ......
        awk -F: 分割符为‘:’
        eg: cat /etc/passwd | awk -F: '{print $1,$2,}'

(2) 打印报告头:
     eg: cat /etc/passwd | awk -F: 'BEGIN{print "This is system user"}{print $1}' | more

打印结尾:
    eg: cat /etc/passwd | awk -F: 'BEGIN{print "This is system user"}{print $1}END{"=================="}' | more

       cat /etc/passwd |awk -F: ‘BEGIN{print “===============”}{print $1}END{print “==========”}’  |more

(3) awk 中的正则表达式:

   1>匹配 ~
      eg: cat /etc/passwd |awk '{if($1~/root/) print $0}'
          cat /etc/passwd |awk ‘$0~/root/’

                  

               2>精确匹配:
      eg: cat /etc/passwd | awk -F: '$1=="root"{print $0}'   

                      

                  3> 不匹配:
        eg: cat /etc/passwd |awk '{if($1!~/root/) print $0}'
            cat /etc/passwd | awk '$0 !~ /root/'

                         

                    4>小于,小于或等于:
        eg: cat /etc/passwd | awk -F: '{if($3<200) print $3}'
            cat /etc/passwd | awk -F: '{if($3<=200) print $3}'           

                        

           

    5>大于,大于或等于:
      eg: cat /etc/passwd | awk -F: '{if($3>500) print $3}'
         cat /etc/passwd | awk -F: '{if($3>=500) print $3}'

                 

            6> 匹配多个关键字:
      eg:
        cat /etc/passwd | awk -F: '$1 ~ /(root|user)/ {print $0}'

                  

               7> 匹配行首:
        eg: cat test |awk -F: ‘{if($1~/^root/) print $0}’
            cat test |awk -F: ‘$1~/^root/ {print $0}’

                     

                     8> awk 使用 && ||
          eg: cat /etc/passwd | awk -F: '{if($1=="root" && $5=="root") print $0}'
              cat /etc/passwd | awk -F: '{if($1=="root" || $1=="sfsdfdsfds") print $0}' 

                    

(4) awk 中的NF与NR:
  NF:浏览记录的域的个数(统计列的段数)
  NR:统计列的行号
  eg: cat test |awk -F: ‘{print NF}’ 输出一共有多少列
     cat test |awk -F: ‘{print NF,NR}’ 输出一共有多少列及其行号
     cat test |awk -F: ‘{print NR,$0}’ 输出全部内容,并在其前输出行号
     awk '{if(NR<10 && $1~/root/) print $1}' /etc/passwd 行号小于10的,使用$1匹配root关键字
     cat /etc/passwd | awk -F: '{print $NF}' 打印每段的最后一段   

           

           

  (5)awk替换:
    eg:cat /etc/passwd | awk 'gsub(/root/,"alvinzeng") ' 将文中所有的root替换成alvinzeng,并输出了所有匹配的行

               

Awk使用方法简介的更多相关文章

  1. gawk使用方法简介

    转载:gawk 使用方法简介 - 简书 (jianshu.com) gawk 是最初 Unix 系统上 awk 程序的 GNU 版本.相对于作为流式编辑器的 sed 而言,它提供了更为强大的编程语言特 ...

  2. 网络神器Greasemonkey(油猴子)使用方法简介+脚本分享【转载】

    推荐下,觉得这个方法有用, 今天艾薇百科来介绍一下功能强大的Greasemonkey,俗称"油猴子",Greasemonkey可以自由定制网页,实现你想要的各种功能.堪称" ...

  3. Redis Cluster搭建方法简介22211111

    Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼       Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅 ...

  4. Monte Carlo方法简介(转载)

    Monte Carlo方法简介(转载)       今天向大家介绍一下我现在主要做的这个东东. Monte Carlo方法又称为随机抽样技巧或统计实验方法,属于计算数学的一个分支,它是在上世纪四十年代 ...

  5. C#——Marshal.StructureToPtr方法简介

    目录 MarshalStructureToPtr方法简介 功能及位置 语法 参数说明 异常 备注 举例 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三 ...

  6. TabBarController创建及使用方法简介

    TabBarController创建及使用方法简介 大致讲解一下TabBarController的创建过程: 首先,我们需要一些视图,如创建UIControllerView类型的view1,view2 ...

  7. delphi操作文本文件的方法简介

    delphi操作文本文件的方法简介减小字体 增大字体 作者佚名来源不详发布时间2008-5-31 10:31:16发布人xuedelphi1 文件类型和标准过程       Delphi同Object ...

  8. iOS中常用的四种数据持久化方法简介

    iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...

  9. jQuery的AJAX方法简介及与其他文件$符号冲突的解决办法

    一.重要的jQuery AJAX方法简介 $.load(url) 从服务器载入数据 $.get(url,callback) 从服务器请求数据,并执行回调函数 $.post(url,data,callb ...

随机推荐

  1. Fiddler监控面板显示Server栏(Fiddler v5.0)

    1.点击Rules下的Customize Rules.js,会打开Fiddler ScriptEditor 2.去掉 UI.lvSessions.AddBoundColumn("Server ...

  2. python socket打造一个定位工具

    前言: 刚刚学习socket,打算后期得学习 怎么写exploit. 原理: 其实很简单,客户端写个爬虫.然后将获取到的IP放入高德地图 在通过socket发送.利用ngrok达到能外网搞事. 准备: ...

  3. RSA_JS_PHP加密解密

    root@DESKTOP-I4OIMJC /cygdrive/e/html/RSA_JS_PHP/openssl/bin # ./openssl.exe OpenSSL> genrsa -out ...

  4. Memcache线上常见问题(缓存雪崩、缓存无底洞、永久数据被踢)

    缓存雪崩现象 一般是由于某个节点失效,导致其它节点的缓存命中率下降,缓存中缺失的数据直接去数据库查询,短时间内造成数据库服务器崩溃. 或者是由于缓存周期性失效,比如设置每隔6个小时失效一次,那么每6个 ...

  5. Strem String Memory TStringStream

    System.SysUtils 一.TStringStream方法 Strem>String TMemoryStream to String stm: TStream; ss: TStringS ...

  6. web.xml执行顺序

    出自:http://blog.csdn.net/u010833154/article/details/50697987 引言:启动java web程序的时候,java web会读取配置文件web.xm ...

  7. sortingOrder,sortingLayer

    sortingOrder 是sortingLayer内的分级 sortingLayer是抽象的分层,用于决定2D物体绘制的先后顺序. 2D物体分两类:sprite和UI. sprite虽是2D,却可以 ...

  8. 【305】◀▶ ArcPy 相关功能实现

    目录: 1. 同一图层的多个要素合并(2种方法) 2. 导入带经纬度坐标的 txt 文件 3. 栅格计算器的实现 4. 添加 shp 文件(显示在 ArcMap) 5. 通过经纬度坐标生成 Polyg ...

  9. OPEN LDAP

    一.安装OPENLDAP 安装完成后退出 编辑两个文本,输入以下内容,并把文本文件改名为ldap01.ldif和ldap02.ldif. ldap01.ldif: dn: dc=maxcrc,dc=c ...

  10. 【codeforces 1025E】Colored Cubes 【构造】

    题意 有一个n*n的棋盘和m个棋子,每个棋子有一个初始位置和一个目标位置,每次移动只能选择一个棋子移动到他相邻的格子,并且花费一秒钟.请你找出一个移动的方法,使得在10800步内将所有棋子移动到目标位 ...