linux 之shell篇 awk命令

一、awk编程模型

    awk为程序员提供了完整的编程模型,awk程序由一个主输入循环(main input loop)维持,主输入循环反复执行,直到终止条件被触发。awk已经搭好了主输入循环框架,程序员写的代码被嵌入到主输入循环框架中执行。例如在java中,程序员需要写一个main函数,打开文件、读取文件行、进行相应处理,关闭文件,awk自动完成了上述步骤。

    awk还定义了两个特殊的字段,BEGIN和END,BEGIN用于在主输入循环之前执行,即在未读取文件行之前执行,END在主输入循环之后执行,即在读取输入行完毕后执行。

二、awk使用方法

    awk语句都是由模式和动作组成,模式是一组用于测试输入行是否需要执行动作的规则,动作是包含语句、函数和表达式的执行过程。简而言之,模式决定动作何时触发和触发事件,动作执行对输入行的处理。

    awk [-F 域分隔符] ‘awk程序段’输入文件

    awk -f awk脚本文件 输入文件

    2.1、模式匹配

        awk '/^$/{print "blank line."}' input --> 在input文件中遇到空行就打印blank line.

    2.2、记录和域

        

    注:awk默认的分隔符为空格

    $1 表示Li Hao   $2 表示 njue $3 表示 025-83481010

    $0 表示整条记录 Li Hao    njue     025-83481010

    2.3、关系和布尔运算符

       

        awk -F":" '$1~/root/' /etc/passwd --> 表示将/etc/passwd中每条记录以:分割,如果第一个域匹配root,则打印到控制台

    2.4、系统变量

        

    2.5、内置字符串函数

        

三、awk的一些简单使用

    

    注:sturecord文件中记录了两个同学的姓名,电话和三门课程的成绩

    3.1、查找姓Chen的同学

         

    3.2、统计电话以130开头同学的人数

        

    3.3、使用awk统计总分和平均分           

    

    

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值