码迷,mamicode.com
首页 > 其他好文 > 详细

一个awk if 嵌套 if 的脚本

时间:2016-04-30 06:26:35      阅读:577      评论:0      收藏:0      [点我收藏+]

标签:

 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             else26                 {f+=1;if($3 == "未婚"){fno+=1}}27             }28         END    {printf "(男职工未婚数量/男员工整体数量):(%s/%s)\n(女员工未婚数量/女员工整体数量):(%s/%s)\n",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)\n(女员工未婚数量/女员工整体数量):(%s/%s)\n",mno,m,fno,f}27     

 

一个awk if 嵌套 if 的脚本

标签:

原文地址:http://www.cnblogs.com/www1707/p/5447990.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!