一个awk if 嵌套 if 的脚本
[root@makeISO sjx]# cat sex.sh
#!/bin/bash # 统计如下内容,并输出结果
# (男职工未婚数量/男员工整体数量)(女员工未婚数量/女员工整体数量) echo '姓名 性别 婚否
男 已婚
男 未婚
男 未婚
男 未婚
女 已婚
女 未婚
女 未婚
女 未婚
女 未婚
女 未婚
女 未婚
女 未婚'\
| sed '1d' \
| awk ' \
BEGIN {m=;mno=;f=;fno=}\
{if($ == "男")\
{m+=;if($ == "未婚"){mno+=}}\
else\
{f+=;if($ == "未婚"){fno+=}}\
}\
END {printf "(男职工未婚数量/男员工整体数量):(%s/%s)\n(女员工未婚数量/女员工整体数量):(%s/%s)\n",mno,m,fno,f}\
'
[root@makeISO sjx]# sh sex.sh
(男职工未婚数量/男员工整体数量):(/)
(女员工未婚数量/女员工整体数量):(/)
下面脚本也可以(去掉 sed ,else 换成 else if )
#!/bin/bash # 统计如下内容,并输出结果
# (男职工未婚数量/男员工整体数量)(女员工未婚数量/女员工整体数量) echo '姓名 性别 婚否
男 已婚
男 未婚
男 未婚
男 未婚
女 已婚
女 未婚
女 未婚
女 未婚
女 未婚
女 未婚
女 未婚
女 未婚'\
| awk ' \
BEGIN {m=;mno=;f=;fno=}\
{if($ == "男")\
{m+=;if($ == "未婚"){mno+=}}\
else if($ == "女")\
{f+=;if($ == "未婚"){fno+=}}\
}\
END {printf "(男职工未婚数量/男员工整体数量):(%s/%s)\n(女员工未婚数量/女员工整体数量):(%s/%s)\n",mno,m,fno,f}\
'
一个awk if 嵌套 if 的脚本的更多相关文章
- 写一个杀死Gradle Daemon的shell脚本和bat脚本
1. Gradle Daemon也就是Gradle守护进程 Gradle需要运行在一个Java虚拟机中,每一次执行gradle命令就意味着一个新的Java虚拟机被启动,然后加载Gradle类和库,最后 ...
- [golang]写了一个可以用 go 来写脚本的工具:gosl
转自:https://golangtc.com/t/53cca103320b52060a000030 写了一个可以用 go 来写脚本的工具:gosl 代码和使用说明可以看这里: http://gith ...
- sublime添加自己的编译环境_添加一个.app或者.exe文件执行脚本
如何添加一个.app或者.exe文件执行脚本 看了很多简书和博客,还是搞不好,最后参考官方文档搞定了: http://www.sublimetext.com/docs/3/build_systems. ...
- 分享一个MySQL分库分表备份脚本(原)
分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...
- 听说awk语言也可以编写脚本
导读 从 awk 系列开始,我们都是在命令行或者脚本文件里写一些简短的 awk 命令和程序.然而 awk 和 shell 一样也是一个解释型语言.通过从开始到现在的一系列的学习,你现在能写可以执行的 ...
- 点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本
前言: 放假了,上个星期刚刚学习完点击劫持漏洞.没来的及写笔记,今天放学总结了一下 并写了一个检测点击劫持的脚本.点击劫持脚本说一下哈.= =原本是打算把网站源码 中的js也爬出来将一些防御的代码匹配 ...
- if嵌套语句 shell脚本实例 测试是否闰年
在 if 语句里面,你可以使用另外一个 if 语句.只要你能逻辑管理 你就可以使用多层嵌套. 以下是一个测试闰年的例子: #!/bin/bash # This script will test if ...
- 一个简易的MysQL性能查询脚本
如下: #!/bin/sh mysqladmin -P3306 -uroot -p ext |\ awk -F"|" \ "BEGIN{ count=0; }" ...
- 写了一个常规性生成merge 的小脚本
现在使用数据库来写存储过程,动不动参数就会用到xml ,当然罗,优势也很明显,参数相对固定,而且灵活,如果要修改或者什么的,中间接口层也不需要做变化,只需要修改封装的存储过程以及程序传参就ok了. 随 ...
随机推荐
- opencv图像融合(大头)
单纯的变大再覆盖上去,头部检测信息不够全,效果实在是太差,就不多说了,只是按照自己的思路玩一玩,没有达到抖音上那么好的效果 import cv2 as cv import numpy as np im ...
- DP及其优化
常见DP模型及其构造 序列DP ARC074 RGB Sequence 题意 给你一个长度为 \(n\) 的序列和 \(m\) 组约束条件,每组条件形如 \(l_i,r_i,x_i\),表示序列上的 ...
- 【BZOJ3165】[HEOI2013]Segment(李超线段树)
[BZOJ3165][HEOI2013]Segment(李超线段树) 题面 BZOJ 洛谷 题解 似乎还是模板题QwQ #include<iostream> #include<cst ...
- 【165223&165218】结对感想——论如何与队友完美配合
★ 为什么要结对编程? 一.结对编程的优势 搭档的形式 平等.互补 高效率.共分享 相互影响.督促学习 方便复审与反馈 二.结对编程的方式 互换的角色 相同的目的 结对编程中有两个角色: (a)驾驶员 ...
- Building Microservices with Spring Boot and Apache Thrift. Part 1 with servlet
https://dzone.com/articles/building-microservices-spring In the modern world of microservices it's i ...
- 回调函数: 一定要在函数名前加上 CALLBACK,否则有可能引起内存崩溃!
今天又遇到一个莫名其妙的内存崩溃问题,问题代码 EnumChildWindows(...): EnumChildWindows(hwnd_panel_text_watermark, (WNDENUMP ...
- 美丽的webpack-bundle-analyzer
webpack-bundle-analyzer -- Webpack 插件和 CLI 实用程序,她可以将打包后的内容束展示为方便交互的直观树状图,让我们知道我们所构建包中真正引入的内容: 我们可以借助 ...
- 第一篇-Git基础学习
学习网址: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758410 ...
- c++ stl sort
两者相等时,必须为false. 满足拟序. 群里大佬666.
- 【译】9. Java反射——泛型
原文地址:http://tutorials.jenkov.com/java-reflection/generics.html ===================================== ...