awk java_awk学习笔记(实时更新ing ...)

前言

年前杂事比较多一些,特别涉及到对一些日志文本的分析,早就知道awk是这方面处理的神器,在写恶心的php间隙学习一下,虽然我觉得自己的php写的非常规范了,但是那种哦敢调用api、调用扩展的方式还是让我觉得恶心,虽然很方便,话不多说,开始awk学习,可能会分阶段完成这篇文章,有时间就记录一些吧

awk程序设计模型

awk程序是由所谓的主输入(main input)循环组成的。一个循环是一个例程,它将一直重复执行直到有一些存在的条件终止它。你不必写这个循环,它是现成的,它作为一个框架存在,在这个框架中编写的代码能够执行。

主输入循环执行的行数和输入的行数相同。

awk允许你编写两个特殊的例程,他们在任何输入被读取前和所有输入被读取后执行。他们是BEGIN和END规则相关的过程。换句话说,在主输入循环前和主输入循环之后你可以做一些处理。

awk脚本可以分为3个部分:

处理输入前的将做的处理

处理输入过程中将做的处理

处理输入完成后做的处理

awk工作流程:

自动从指定的数据文件中读取一个数据行

自动更新相关的内建变量之值。如:NF,NR,$0,$1,..

依次执行程序中所有的Pattern{Actions}指令。

当执行完程序中所有Pattern{Actions}时,若数据文件中还有未读取的数据,则反复执行上述步骤(awk的程序设计模型决定)

执行awk

awk 'awk程序' 处理文件名

处理文件中包含多少行,awk程序就执行多少次,这是由awk程序设计模型决定的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值