awk精华-新编

1 awk简介

1.1什么是awk nawk gawk

awk是一种用于处理数据和生成报告的UNIX编程语言。nawkawk的新版本,gawk是基于LinuxGNU版本。

1.2 awk介绍

awk3个姓氏的首字母,代表创建该语言的3位作者:Alfred V.AhoBrian W.KernighanPeter J.Weinberger。当然也可以叫它wakkaw,但常用的是awk

最初编写于1977年,1985年得以改进以支持更大的程序,还增加了可用户自定义函数、动态正则表达式、同时处理多个输入文件等功能。

1.3 awk版本

awk的版本有很多,包括old awknew awkGNU awk(gawk)POSIX awk

2 awk格式

基本语法:awk [options] ‘program’ filename …


awk [options] ‘pattern {action}’ filename

        选项        模式        操作

options 

        -F (field separator)

有三种方法:

1、使用空白符分隔字段(默认值);这种情况下,记录的前导空白字符和结尾空白字符(空格和/或制表符)将被忽略。都视为一个空白字符。

2、使用其他单个字符来分隔字段。例如:awk -F “awk ‘BEGIN{FS=“:”}’

3、使用不止一个字符作为字段分隔符,它将被作为一个正则表达式来解释。例如: FS=“[‘ :\t]"

 -v vars=value (自定义变量)

3 awk原理

工作遍历模式:迭代,循环

1、切片 (注意:默认将空格符和制表符都视为空格,而且多个连续的空格都视为一个(自动删除重复的空格)

2、赋予变量  (将fs分隔后的字段都存入变量,整行存入$0

3、遍历(循环每一个字段,以字段为单位,非每行)

4、逐行 (读取一行,将patternaction都执行完成,读取下一行)

4 awk输出

4.1一般输出print

4.2格式化输出printf

4.3输出到文件

4.4输出到管道

4.5关闭文件和管道

5 awk输入

5.1 awk程序的输入

5.2输入分隔

5.3多行记录

5.4 getline函数

5.5命令行参数

6 awk变量

6.1内置变量

6.2自定义变量

7 awk模式

7.1 empty模式

7.2 BEGIN and END模式

7.3正则表达式

7.4表达式

7.5复合模式

7.6范围模式

8 awk操作

8.1空语句

8.2表达式

8.3输入

8.4输出

8.5流控制语句

9 awk控制

9.1条件语句

9.2循环

9.3程序控制

10 awk数组

10.1关联数组

10.2二维和多维数组

10.3数组应用

11 awk 函数

11.1内置函数

11.2自定义函数

12 其他

13 附录

13.1正则表达式

13.2表达式运算符


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值