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. 170316、spring4:@Cacheable和@CacheEvict实现缓存及集成redis

    注:1.放入cache中,采用@Cacheable;使缓存失效@CacheEvict 2.自定义CacheManager只需要继承org.springframework.cache.support.A ...

  2. MSSQL移除字符串两边的指定字符

    移除字符串左边的字符: CREATE FUNCTION [dbo].[RemoveLeftChar] ( @Expression varchar(max), @char varchar(4))RETU ...

  3. Cookies Client Identification

    HTTP The Definitive Guide Cookies are the best current way to identify users and allow persistent se ...

  4. UVA11426 GCD - Extreme (II)---欧拉函数的运用

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  5. django 模板语言之 simple_tag 自定义模板

    自定义函数 simple_tag a. app项目下创建templatetags目录 b. 创建任意xxoo.py文件 用做自定义py函数 c. 创建template对象 register 在函数或者 ...

  6. spring MVC学习(二)---配置相关的东西

    1.在上一节中我们提到过每一个DispatcherServlet都会有一个上下文 (WebApplictionContext),并且继承了这些上下文中的bean,其中以一些"特殊" ...

  7. odoo学习记录1

    1. odoo通过ORM(对象关系映射)实现底层数据与上层逻辑到关联,保证数据存储的安全性和使用上到便利性. 2. odoo由模块组成,每个模块包含:Bussiness Object, Data, W ...

  8. python logging模块介绍

    1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 ...

  9. sdut3140 A*B(math)

    题目:传送门 题目描述 Your task is to find the minimal positive integer number Q so that the product of digits ...

  10. oracle的统计信息的查看与收集

    查看某个表的统计信息 SQL> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'; Session altered. SQL&g ...