第4章 awk编程

1 awk编程模型

image

 

 

 

2 awk用法

调用awk有三种方法(与sed类似):

  • 在Shell命令行输入命令调用awk,格式为:

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

  • 将awk程序段插入脚本文件后,然后通过awk命令调用它:

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

  • 将awk命令插入脚本文件后,最常用的方法是设置该脚本文件为可执行,然后直接执行该脚本文件,格式为:

./awk脚本文件输入文件

注:第二种方法脚本文件的首行不以#!/bin/awk –f开头;第三种方法脚本文件的首行是#!/bin/awk –f

3 awk编程示例

3.1 awk模式匹配

awk语句由模式(pattern)和动作(action)组成。模式决定动作何时触发和触发事件,动作执行对输入行的处理。

image

模式部分:^$,是正则表达式,表示空白行;

动作部分:花括号中的部分,打印操作。

3.2 记录和域

awk认为输入文件是结构化的,awk将每个输入文件行定义为记录,行中的每个字符串定义为,域之间用空格、Tab键或其他符号进行分割,分割域的符号就叫分隔符。

image

打印第一、二哥域

image

3.3 关系和布尔运算符

关系运算符

运算符

意义

<

小于

>

大于

<=

小于等于

>=

大于等于

==

等于

!=

不等于

~

匹配正则表达式

!~

不匹配正则表达式

布尔运算符

运算符

意义

||

逻辑或

&&

逻辑与

!

逻辑非

打印/etc/passwd中第一个域匹配root关键字的记录

image

3.4 表达式

运算符

意义

+

-

*

/

%

^或**

乘方

++x

在返回x值之前,x变量加1

x++

在返回x值之后,x变量加1

3.5 格式化输出

awk借鉴C语言的语法,定义了printf输出语句,它可以规定输出的格式

修饰符

意义

-

左对齐

width

域的步长

.prec

小数点右边的位数

运算符

意义

%c

ASCII字符

%d

整型数

%e

浮点数,科学记数法

%f

浮点数

%o

八进制数

%s

字符串

%x

十六进制数

打印第一个域的内容

image

转载于:https://www.cnblogs.com/boyiliushui/p/5615557.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值