条件判断

  • 作者:KK

  • 发表日期:2017.11.27


像C语言

awk请多语法都是借鉴了C语言的,所以大家很容易上手


尝试

  1. 创建test.awk,代码如下:

    BEGIN{
        if(2 > 1){
            print "abc"
        }
    }
    

  2. 执行命令awk -f test.awk于是输出abc,然后自己改一下if的比较逻辑玩玩吧


实例1:输出系统用户名,并且当用户数量太多时加一句提示

  1. show-user.awk代码:

    BEGIN{
        count = 0
    }
    
    {
        count++
        print $1
        if(count > 10){
            print "-----------"
        }
    }
    
    END{
        if(count > 20){
            print "超出20个用户了啊,会不会多了点"
        }else if(count > 10){
            print "才10来个用户,系统好像挺干净的"
        }else{
            print "有没有搞错,这么迷你的系统?10个用户不到啊"
        }
    }
    
  2. 测试命令:awk -F : -f show-user.awk /etc/passwd,以下是我的输出样例:

    root
    daemon
    bin
    sys
    sync
    games
    man
    lp
    mail
    news
    uucp
    -----------
    proxy
    -----------
    www-data
    -----------
    backup
    -----------
    list
    -----------
    irc
    -----------
    gnats
    -----------
    nobody
    -----------
    systemd-timesync
    -----------
    systemd-network
    -----------
    systemd-resolve
    -----------
    systemd-bus-proxy
    -----------
    syslog
    -----------
    _apt
    -----------
    lxd
    -----------
    messagebus
    -----------
    uuidd
    -----------
    dnsmasq
    -----------
    sshd
    -----------
    pollinate
    -----------
    超出20个用户了啊,会不会多了点