zoukankan      html  css  js  c++  java
  • Linux常用基本命令:三剑客命令之-awk 三元表达式

    awk 3元表达式,if...else结构都可以用3元表达式改写

    ghostwu@dev:~/linux/awk$ awk -v FS=":" '{ type=$3>=1000?"普通用户":"系统用户";print $1,type}' /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 系统用户
    messagebus 系统用户
    uuidd 系统用户
    lightdm 系统用户
    whoopsie 系统用户
    avahi-autoipd 系统用户
    avahi 系统用户
    dnsmasq 系统用户
    colord 系统用户
    speech-dispatcher 系统用户
    hplip 系统用户
    kernoops 系统用户
    pulse 系统用户
    rtkit 系统用户
    saned 系统用户
    usbmux 系统用户
    ghostwu 普通用户
    mysql 系统用户
    guest-iilhaz 系统用户
    smmta 系统用户
    smmsp 系统用户

    统计普通用户与系统用户的个数

    ghostwu@dev:~/linux/awk$ awk -v FS=":" '{$3>=1000 ? user++ : snumber++} END{print "user number:", user, "system number:", snumber}' /etc/passwd
    user number: 2 system number: 42

    awk打印奇偶行

    1、在awk中,如果省略了模式对应的动作,当前行满足模式时,默认动作为打印整行,即{print $0}

    2、在awk中,0或者空字符串表示"假",非0值或者非空字符串表示"真",当模式为假,动作不会执行,当模式为真,动作会执行

    ghostwu@dev:~/linux/awk$ awk 'i=!i' lines.txt 
    第 1 行
    第 3 行
    第 5 行
    第 7 行
    第 9 行
    第 11

    awk扫描第一行时,i变量被初始化为空值, 取反之后 变为真, 整个模式就为真,所以打印第一行, 第二行的时候,取反赋值变为假。。。。以此类推

    ghostwu@dev:~/linux/awk$ awk '{i=!i;print i;}' lines.txt 
    1
    0
    1
    0
    1
    0
    1
    0
    1
    0
    1

    再次取反,打印的就是偶数行

    ghostwu@dev:~/linux/awk$ awk '!(i=!i)' lines.txt 
    第 2 行
    第 4 行
    第 6  行
    第 8 行
    第 10
  • 相关阅读:
    C3线性化
    fingerprint for the ECDSA key
    tmp
    线性筛(欧拉筛)
    tmp
    tmp
    Micro Frontends 微前端
    TreeFrog Framework : High-speed C++ MVC Framework for Web Application http://www.treefrogframework.org
    消息同屏转发
    web-linux-shell实现 阿里方案canvas+wss。
  • 原文地址:https://www.cnblogs.com/ghostwu/p/9098355.html
Copyright © 2011-2022 走看看