https://blog.csdn.net/fengyuanye/article/details/82858863
awk执行有三种形式:
1.直接以命令行来执行,
语法形式为:awk [option] 'awk语句' 待处理文本文件,实例如图:
2.以awk脚本文件来执行
需要加-f选项;语法形式为:awk -f awk脚本 待处理文件,具体实例如图:
3.以shell脚本的形式来执行
以shell脚本形式执行时,行首的#!/bin/bash 需变换为#!/bin/awk(awk所在的路径),并且后面需加上-f选项,否则会报错。具体事例如图:
执行结果如图:
文件内容:
另一实例:
awk变量不需定义,可直接赋值或操作。
若对变量进行数值操作,如+1,-1,++等操作,则其值为数值,并且默认值为0.
若对变量进行字符串操作,则其值默认为字符串。
awk的数组类似k,v映射关系,可以以数字为下标索引,也可以以字符串为下标索引,甚至可以以多维字符串为索引。
在shell脚本形式执行的变量,可以直接加两个引号""连接变量和字符串或者其他变量,可直接进行字符串拼接,如:
图中,a[1]为字符串变量,reg之前未定义,可以接将其作为索引为字符串的数组,数组值也为字符串;可通过下标索引对其对应值进行不断追加。其数组变量值可以接与字符串通过“”进行拼接,而不是像shell脚本中的变量,需要用${变量值。
以字符串为下表索引的数组的遍历:
对于非数值型下标,一般用此种方法进行数组遍历。