awk 条件及循环语句

条件语句

    if(条件表达式)
        动作1
    else if(条件表达式)
        动作2
    else
        动作3

  

循环语句:

    while循环:
    while(条件表达式)
        动作

    do while循环:
        do
            动作
        while(条件表达式)

    for循环:
        for(初始化计数器;计数器测试;计数器变更)
            动作

  

以:为分隔符,只打印/etc/passwd中第3个字段的数值在50-100范围内的行信息

awk ‘BEGIN{FS=":"}{if($3>50 && $3<100) print $0}‘ passwd

if.awk  

        BEGIN{
            FS=":"
        }
        {
            if($3<50)
            {
                printf "%-20s%-20s%-10d\n","UID<50",$1,$3
            }
            else if ($3>50 && $3<100)
            {
                printf "%-20s%-20s%-10d\n","50<UID<100",$1,$3
            }
            else
            {
                printf "%-20s%-20s%-10d\n","UID>100",$1,$3
            }
        }

  

输出 以 UID 以50位为分界点的用户,-f 将条件表达式写到文本中读取

awk -f if.awk passwd

计算下列每个同学的平均分数,并且只打印平均分数大于90的同学姓名和分数信息

        Allen    80    90    96    98
        Mike    93    98    92    91
        Zhang    78    76    87    92
        Jerry    86    89    68    92
        Han    85    95    75    90
        Li    78    88    98    100

算出平局成绩
awk ‘BEGIN{printf "%-20s%-20s%-20s%-20s%-20s%-20s\n","Name","Chinese","English","Math","Physical","Average"}{sum=$2+$3+$4+$5;avg=sum/4}
{printf "%-20s%-20d%-20d%-20d%-20d%-0.2f\n",$1,$2,$3,$4,$5,avg}‘ student.txt

  

加入条件判断,如果平均分数大于90才打印

awk ‘BEGIN{printf "%-20s%-20s%-20s%-20s%-20s%-20s\n","Name","Chinese","English","Math","Physical","Average"}{sum=$2+$3+$4+$5;avg=sum/4}{if(avg>90)
 printf "%-20s%-20d%-20d%-20d%-20d%-0.2f\n",$1,$2,$3,$4,$5,avg}‘ student.txt

计算1+2+3+4+...+100的和,请使用while、do while、for三种循环方式实现

  

通过读取文件的方式载入awk的条件

add_while.awk

        BEGIN{
            while(i<=100)
            {
                # 一个变量不赋值,默认为0或者空
                sum+=i
                i++
            }
            print sum
        }

do while循环

awk -f add_dowhile.awk

for循环

add_for.awk

        BEGIN{
            for(i=0;i<=100;i++)
            {
                sum+=i
            }
            print sum
        }

原文地址:https://www.cnblogs.com/crazymagic/p/11154717.html

时间: 2024-07-29 03:49:26

awk 条件及循环语句的相关文章

shell脚本中用到的条件和循环语句

本博文介绍一下shell脚本中常用的条件和循环语句: 条件语句: 循环语句: 示例: if语句: eg1. eg2. 2.case语句: 简单的case语句: 配合循环的case语句: 3.for语句: 简单的for语句:eg1. eg2. 和case搭配的for语句:eg3. 4.while语句: eg1. eg2. 5.util语句: 6.select语句:

Python 2.7 学习笔记 条件与循环语句

本文介绍下python条件和循环语句的语法 一.if条件语句 语法格式如下: if 表达式: .... elif 表达式: .... elif 表达式: .... else: ..... 说明:与其它语言的语法区别是,表达式或else后面要加 冒号 结尾. 语句块没有用一些标识符括起来,而是靠缩进来标记. 二.while循环 语法格式是: while 表达式: ........ 三.for循环 for循环用于遍历一个集合,语法格式是: for  元素  in  集合 ........ 举例如下:

Javascript语法,变量类型,条件,循环语句,函数,面向对象

1.JavaScript代码革两种存在形式: <!-- 方式一 --> <script type='txt/javascript' src='/js/comment.js'></script> <!-- 方式二 --> <script type='txt/javascript'> js代码内容 </script> 方式一可以有效提高代码的重用性 2.JavaScript代码存放位置 HTML的head中 HTML的body代码块底部(

Python 的条件与循环语句

Python 条件语句:        if 语句的判断条件可以用>(大于).<(小于).==(等于).>=(大于等于).<=(小于等于)来表示其关系.        如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功:使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功     1.if语句用于控制程序的执行:          if 条件:               代码块          else:     

python条件及循环语句

1.条件语句 2.循环语句 3.迭代器 4.列表解析 5.生成器表达式 1.条件语句 最简单的条件语句: if expression: expr_true_suite 如上,if是关键字,expression是条件表达式,条件表达式支持多重条件判断,可以用布尔操作符and.or和not连接,expr_true_suite是代码块,expression为true时执行,代码块如果只有一行,上面的整个条件语句便可全部写到一行,但可读性差. 带elif和else的条件语句: if expression

Python之条件、循环语句

1.条件语句 #语法: if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4> if 语句执行有个特点,它是从上往下判断,如果在某个判断上是 True,把该判断对应的语句执行后,就忽略掉剩下的 elif 和 else 当 if 有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大

python基础(3)--条件判断循环语句与列表解析,生成器

判断循环语句语法说明: 1,if if boolean_expression: ... elif boolean_expression: ... else ... 2,while while boolean_expression: while_suite if boolean_expression2: continue if boolean_expression3: break else: else_suite 3,for for expression in object: for_suite

集合与条件、循环语句

集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 集合操作符和关系符号: 常用操作 s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(

条件及循环语句

(1) IF 条件: 执行内容一 else: 执行内容二 (2) if 条件: 代码块一 elif条件: 代码块二 else: 代码块三 (3) 循环: while 条件: 代码块 break continue break:用于跳出所有循环,break后面的代码不在执行 continue:用于跳出本次循环,继续下次循环 (4)代码案例: #!/usr/bin/env python #-*-coding:utf-8-*- #一个等号是赋值,两个等号是比较 if 1!=1: print ("1111