zoukankan      html  css  js  c++  java
  • 一个awk if 嵌套 if 的脚本

     1 [root@makeISO sjx]# cat sex.sh 
     2 #!/bin/bash
     3 
     4 #    统计如下内容,并输出结果
     5 #    (男职工未婚数量/男员工整体数量)(女员工未婚数量/女员工整体数量)
     6 
     7 echo '姓名    性别    婚否
     8 001    男    已婚
     9 002    男    未婚
    10 003    男    未婚
    11 004    男    未婚
    12 005    女    已婚
    13 006    女    未婚
    14 007    女    未婚
    15 008    女    未婚
    16 009    女    未婚
    17 010    女    未婚
    18 011    女    未婚
    19 012    女    未婚'
    20     | sed '1d' 
    21     | awk ' 
    22         BEGIN    {m=0;mno=0;f=0;fno=0}
    23             {if($2 == "")
    24                 {m+=1;if($3 == "未婚"){mno+=1}}
    25             else
    26                 {f+=1;if($3 == "未婚"){fno+=1}}
    27             }
    28         END    {printf "(男职工未婚数量/男员工整体数量):(%s/%s)
    (女员工未婚数量/女员工整体数量):(%s/%s)
    ",mno,m,fno,f}
    29     '
    30 [root@makeISO sjx]# sh sex.sh
    31 (男职工未婚数量/男员工整体数量):(3/4)
    32 (女员工未婚数量/女员工整体数量):(7/8)

    下面脚本也可以(去掉 sed ,else 换成 else if )

     1 #!/bin/bash
     2 
     3 #    统计如下内容,并输出结果
     4 #    (男职工未婚数量/男员工整体数量)(女员工未婚数量/女员工整体数量)
     5 
     6 echo '姓名    性别    婚否
     7 001    男    已婚
     8 002    男    未婚
     9 003    男    未婚
    10 004    男    未婚
    11 005    女    已婚
    12 006    女    未婚
    13 007    女    未婚
    14 008    女    未婚
    15 009    女    未婚
    16 010    女    未婚
    17 011    女    未婚
    18 012    女    未婚'
    19     | awk ' 
    20         BEGIN    {m=0;mno=0;f=0;fno=0}
    21             {if($2 == "")
    22                 {m+=1;if($3 == "未婚"){mno+=1}}
    23             else if($2 == "")
    24                 {f+=1;if($3 == "未婚"){fno+=1}}
    25             }
    26         END    {printf "(男职工未婚数量/男员工整体数量):(%s/%s)
    (女员工未婚数量/女员工整体数量):(%s/%s)
    ",mno,m,fno,f}
    27     '
  • 相关阅读:
    使用springboot方式配置监听器
    Socket实现服务端
    Tesseract 部署到centos遇到的坑
    Java 机器学习之K-mean
    Java springboot之Mongodb增删改查
    Vue 跳转
    nginx安装、部署前端、请求转发
    Vue 第十四章 Vue项目部署到tomcat服务器
    Vue 第十三章 watch属性和computed属性使用
    Vue 第十二章 命名视图实现经典布局
  • 原文地址:https://www.cnblogs.com/www1707/p/5447990.html
Copyright © 2011-2022 走看看