sponsored links

awk执行的三种方式,以及awk以shell脚本文件形式执行的注意事项

awk执行有三种形式:

1.直接以命令行来执行,

        语法形式为:awk  [option]  'awk语句'  待处理文本文件,实例如图:

awk执行的三种方式,以及awk以shell脚本文件形式执行的注意事项

2.以awk脚本文件来执行

需要加-f选项;语法形式为:awk  -f  awk脚本  待处理文件,具体实例如图:

awk执行的三种方式,以及awk以shell脚本文件形式执行的注意事项

3.以shell脚本的形式来执行

以shell脚本形式执行时,行首的#!/bin/bash 需变换为#!/bin/awk(awk所在的路径),并且后面需加上-f选项,否则会报错。具体事例如图:

awk执行的三种方式,以及awk以shell脚本文件形式执行的注意事项

执行结果如图:

awk执行的三种方式,以及awk以shell脚本文件形式执行的注意事项

文件内容:

awk执行的三种方式,以及awk以shell脚本文件形式执行的注意事项

另一实例:

awk执行的三种方式,以及awk以shell脚本文件形式执行的注意事项

awk变量不需定义,可直接赋值或操作。

若对变量进行数值操作,如+1,-1,++等操作,则其值为数值,并且默认值为0.

若对变量进行字符串操作,则其值默认为字符串。

awk的数组类似k,v映射关系,可以以数字为下标索引,也可以以字符串为下标索引,甚至可以以多维字符串为索引。

在shell脚本形式执行的变量,可以直接加两个引号""连接变量和字符串或者其他变量,可直接进行字符串拼接,如:

awk执行的三种方式,以及awk以shell脚本文件形式执行的注意事项

图中,a[1]为字符串变量,reg之前未定义,可以接将其作为索引为字符串的数组,数组值也为字符串;可通过下标索引对其对应值进行不断追加。其数组变量值可以接与字符串通过“”进行拼接,而不是像shell脚本中的变量,需要用${变量值。

以字符串为下表索引的数组的遍历:

awk执行的三种方式,以及awk以shell脚本文件形式执行的注意事项

对于非数值型下标,一般用此种方法进行数组遍历。

Tags: