• shell入门-awk-3


    awk的内置变量

    NR 表示行

    NF 表示段

    显示第十行

    [root@wangshaojun ~]# awk -F ':' 'NR==10' 1.txt
    uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

    显示小于第三行

    [root@wangshaojun ~]# awk -F ':' 'NR<3' 1.txt
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin

    显示小于第三行 显示第1 3 4 段

    [root@wangshaojun ~]# awk -F ':' 'NR<3 {print $1,$3,$4}' 1.txt


    [root@wangshaojun ~]# awk -F ':' '{if(NR<3) print $1,$3,$4}' 1.txt


    root 0 0
    bin 1 1

    显示小于第三行 显示第1 3 4 段并添加分隔符

    [root@wangshaojun ~]# awk -F ':' 'OFS=":" {if(NR<3) print $1,$3,$4}' 1.txt
    root:0:0
    bin:1:1

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

    直接打印NF

    [root@wangshaojun ~]# awk -F ':' '{print NF}' 1.txt
    7
    7
    7

    ....

    段数等于7的行 打印第一段

    [root@wangshaojun ~]# awk -F ':' 'NF==7 {print $1 }' 1.txt
    root
    bin
    daemon
    adm

    ....

    如果段数等于7,打印第一段

    [root@wangshaojun ~]# awk -F ':' '{if (NF==7) print $1}' 1.txt
    root
    bin
    daemon
    adm

    .....

    数学运算

    $7显示第三段的数字加上第四段的和

    [root@wangshaojun ~]# awk -F ':' '$7=$3+$4' 1.txt
    bin x 1 1 bin /bin 2
    daemon x 2 2 daemon /sbin 4
    adm x 3 4 adm /var/adm 7
    lp x 4 7 lp /var/spool/lpd 11

    .....

    $7显示第三段的数字加上第四段的和并显示第三段第四段第七段

    [root@wangshaojun ~]# awk -F ':' '$7=$3+$4 {print $3,$4,$7}' 1.txt
    1 1 2
    2 2 4
    3 4 7
    4 7 11
    5 0 5

    .......

    $7显示第三段的数字加上第四段的和并显示第三段第四段第七段,显示分隔符

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

    .....

    求所有第三段的数字的和

    [root@wangshaojun ~]# awk -F ':' '{(sum=sum+$3)}; END {print sum}' 1.txt
    3785

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

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

    总结:OFS分隔符   NF表示段    NR表示行 

  • 相关阅读:
    事务和异常处理
    普通三层结构示例
    Viewstate与Static
    oracle 9i 的数据类型
    XSD数据集
    ASP.NET中的错误处理和程序优化
    PL/SQL程序设计
    ASP.NET 2.0中的异步页面
    Oracle中RowNum的用法
    .NET单元测试
  • 原文地址:https://www.cnblogs.com/wangshaojun/p/4979535.html
Copyright © 2020-2023  润新知