• shell入门-awk-1


    awk对于sed grep的优势在于分段,把分隔符分割成一小段一小段,针对段进行匹配,替换,操作,逻辑判断,比较...等

    awk的基本操作

    [root@wangshaojun ~]# awk -F ':' '{print $3}' 1.txt //// -F 指定分隔符  $3 就是第三段
    0
    1
    2
    3

    .....

    指定多个段 

    [root@wangshaojun ~]# awk -F ':' '{print $3,$4,$1}' 1.txt
    0 0 root
    1 1 bin
    2 2 daemon
    3 4 adm
    4 7 lp

    .....

    指定显示指定的分隔符

    [root@wangshaojun ~]# awk -F ":" 'OFS=":" {print $3,$4,$1}' 1.txt
    0:0:root
    1:1:bin
    2:2:daemon
    3:4:adm

    ......

    匹配指定字符 

    [root@wangshaojun ~]# awk '/root/' 1.txt
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin

    匹配多个字符

    [root@wangshaojun ~]# awk '/root|user/' 1.txt
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    saslauth:x:499:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin

    带特殊字符的

    [root@wangshaojun ~]# awk '/r*o/' 1.txt
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin

    ...

    分段匹配

    [root@wangshaojun ~]# awk -F':' '$1~/r*o/' 1.txt////以冒号为分隔符,搜索第一段含r*o的行
    root:x:0:0:root:/root:/bin/bash
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

    .....

    分段匹配并只显示指定的行

    [root@wangshaojun ~]# awk -F':' '$1~/r*o/ {print $3}' 1.txt ///显示第一段r*o的行的第三段
    0
    2
    6
    11

    ....

    同时匹配两个关键词并现在指定行的指定段

    [root@wangshaojun ~]# awk -F':' '$1~/r*o/ {print $1,$3}; $1~/user/ {print $1,$3}' 1.txt

    [root@wangshaojun ~]# awk -F':' '$1~/r*o|user/ {print $1,$3}' 1.txt 

    root 0
    daemon 2
    shutdown 6
    operator 11

    .....

    //////////////////////////////////////////////////////////////////////////////////////////

    总结:awk -F 指定分割符 ‘:’  OFS=":"指定显示结果的分隔符  以段来匹配 ‘/r*o/’指定过滤条件   {print $3}显示过滤结果的第几段  指定文件

     awk -F ‘:’ ‘$1~/r*o/’  指定根据第几段来搜索 ~ 后面跟关键词

    |可以合并搜索  ;可以分别搜索

  • 相关阅读:
    PHP算法每日一练 双向链表
    Web开发者必备的十大免费在线工具网站
    使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.5
    linux服务器状态、性能相关命令
    PHP算法每日一练 单链表
    [转]DELPHI2006中for in语句的应用
    [转]Delphi线程类
    [转]解耦:Delphi下IoC 模式的实现
    [DELPHI]单例模式(singleton) 陈省
    [转][Delphi]解决窗体闪烁的方法
  • 原文地址:https://www.cnblogs.com/wangshaojun/p/4976361.html
Copyright © 2020-2023  润新知