AWK中两种循环语句:if-else 和 while
 
控制流语句:
1.if-else
求总数,平均值:
[root@monitor awkdir]# awk '$3>6 {n = n + 1;pay = pay + $2*$3}END{print n,pay/n}' emp.txt
4 84.375
 
语句:
awk '$3 > 6 {n = n + 1 ;pay = pay + $2 * $3}
END {if (n > 0)
print n,"employees,total pay is",pay,
"average",pay/n
else
print "no employees are paid more than $6/hour"
}
' emp.txt
 
实例:
[root@monitor awkdir]# awk '$3 > 6 {n = n + 1 ;pay = pay + $2 * $3}
> END {if (n > 0)
> print n,"employees,total pay is",pay,
> "average",pay/n
> else
> print "no employees are paid more than $6/hour"
> }
> ' emp.txt
4 employees,total pay is 337.5 average 84.375
 
2.while
语句:
awk '{
i = 1
while (i <=$3)
{printf("\t%.3f\n",$1 * (1 + $2) ^ i)
i = i + 1
}
}' w.txt
-- 
 
[root@monitor awkdir]# awk '
> {i = 1
> while (i<=$3){
> printf("\t%.2f\n",$1 * (1 + $2) ^ i)
> i = i + 1
> }
> }' w.txt
  1060.00
  1123.60
  1191.02
  1262.48
  1338.23
  1120.00
  1254.40
  1404.93
  1573.52
  1762.34
  1973.82
 
数组:
[root@monitor awkdir]# awk '{line[NR] = $0}END{i = NR ;while (i>0) {print line[i] ;i = i - 1}}' emp.txt
Susie 4.25 18
Mary 5.50 22
Mark 5.00 20
Kathy 4.00 10
Dan 3.75 0
Beth 4.00 0
[root@monitor awkdir]# awk '{line[NR] = $0}END{i = NR ;while (i>3) {print line[i] ;i = i - 1}}' emp.txt
Susie 4.25 18
Mary 5.50 22
Mark 5.00 20

awk循环语句-【AWK学习之旅】的更多相关文章

  1. awk 循环语句例子

    awk 循环语句例子 运行结果:

  2. “全栈2019”Java第二十六章:流程控制语句中循环语句do-while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  3. “全栈2019”Java第二十五章:流程控制语句中循环语句while

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. awk基础03-分支和循环语句

        awk既然是一门解释型语言,则就可以支持如分支语句.循环语句等.今天就来学习一下在awk中的分支和循环语句.如果您有过任何一门编程语言的基础,则下面所讲内容也是很好理解的. 分支语句 if-e ...

  5. awk二十问-【AWK学习之旅】

    ---===AWK学习之旅===--- 一行命令: 1.打印输入每行的字段总数: 最后一行的字段总数:END{print NF} 每行都显示字段总数: {print NF}   2.打印指定行: aw ...

  6. awk十三问-【AWK学习之旅】

    ---===AWK学习之旅===--- 十三个常用命令行处理   [root@monitor awkdir]# cat emp.txt Beth 4.00 0 Dan 3.75 0 Kathy 4.0 ...

  7. awk分割列-【AWK学习之旅】

    ---===AWK学习之旅===--- awk 内置分割函数:split,将列按照指定分割符,分割成数组 用法:split(str1,array,"分隔符") 文件内容: [roo ...

  8. shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句

    shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ...

  9. awk 条件及循环语句和字符串函数

    条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动作3 循环语句: while循环: while(条件表达式) 动作 do while循环: do 动作 whil ...

随机推荐

  1. vue里监听安卓的物理返回键

    Hybrid App中,原生内嵌H5单页,由于安卓是有物理返回键的,按安卓物理返回键的时候会返回到上一个路由. 实际中需求是:当有弹层的时候,按物理返回键是关闭弹层,是页面的时候才执行返回上一个路由, ...

  2. vue axios配置 发起请求加载loading请求结束关闭loading

    axios带有请求拦截器,避免在每个请求里面加loading重复操作,可以封装进去,在请求开始时加载loading层,请求结束关闭,loading层用vux的loading加载 axios.js im ...

  3. bootstrap datetimepicker 日期插件超详细使用方法

    日期时间选择器 目前,bootstrap有两种日历.datepicker和datetimepicker,后者是前者的拓展. Bootstrap日期和时间组件: 使用示例: 从左到右依次是十年视图.年视 ...

  4. 领悟 JavaScript 中的面向对象

    JavaScript是基于对象的语言,我们可以使用面向对象的思想去开发js代码. JavaScript是基于对象的语言. 可以使用面向对象的思想,但是不少人对这一点理解得并不全面. 在 JavaScr ...

  5. JavaWeb基于session和cookie的数据共享

    在了解session和cookie技术之前,我们需要先了解一下什么是会话?会话可以简单理解为用户打开一个浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程称为一个会话.这样, ...

  6. Orchard 与 ABP架构比较 (aspnetboilerplate)

    前言:  ABP框架经常在一些.NET群中听群友提起,以前也浏览过官网,大致了解它是一个框架,直到今天本人才正式下载源码入门 ... 经过两个小时的ABP中文文档入门(感谢各位辛勤的翻译者) ,大致了 ...

  7. 2017 Multi-University Training Contest - Team 3—HDU6058 Kanade's sum

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6058 题目意思:给你一个排列,求所有区间长度大于等于k的区间第k大的数的和…… 思路:一开始看到区间k ...

  8. Xcode6 部署iphone4s出现的问题 No architectures to compile for

    手贱升级到了Xcode6.结果一打开来就爆了各种错误换个警告; 各种百度和谷歌,终于搞定了,然后插上4S,结果还是报错. 解决: 1.找到 Build Settings 2.点击 Architectu ...

  9. AJAX Form Submit Framework 原生js post json

    https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest <!doctype ht ...

  10. HTTP Headers Client Identification

    用户信息通过HTTP头部承载:不能实现用户唯一性标识. w HTTP The Definitive Guide Table 11-1 shows the seven HTTP request head ...