Linux下awk内置变量怎么用

2023-04-12 03:35:00 linux awk 变量

Linux下awk内置变量主要有两类:一类是内置变量,另一类是自定义变量。

内置变量一般分为两类:局部变量和全局变量。局部变量是指在awk程序块中定义的变量,只在该程序块中可用;全局变量是指在awk程序块外定义的变量,在所有程序块中都可用。

自定义变量一般分为两类:变量和数组。变量是指在awk程序中使用的普通变量,数组是指在awk程序中使用的数组变量。

下面介绍一下Linux下awk内置变量的使用。

一、局部变量

1、NR

NR表示当前记录数,也就是awk处理到目前为止的记录数。

2、NF

NF表示当前记录中的字段数,也就是当前记录中有多少个字段。

3、FILENAME

FILENAME表示当前输入文件的名称。

4、FNR

FNR表示当前记录数,但是只针对当前输入文件计算。

二、全局变量

1、ARGC

ARGC表示awk命令行中参数的个数。

2、ARGV

ARGV表示awk命令行中参数的数组。

3、ENVIRON

ENVIRON表示环境变量的数组。

三、自定义变量

1、变量

变量是指在awk程序中使用的普通变量,变量的声明格式为:

变量名=变量值

变量名可以由字母、数字、下划线组成,但是不能以数字开头。

变量的使用格式为:$变量名

例如:

awk '{a=1;b=2;print a,b}'

输出结果为:1 2

2、数组

数组是指在awk程序中使用的数组变量,数组的声明格式为:

数组名[下标]=数组元素值

数组名可以由字母、数字、下划线组成,但是不能以数字开头。

数组的使用格式为:$数组名[下标]

例如:

awk '{a[1]=1;a[2]=2;print a[1],a[2]}'

输出结果为:1 2

相关文章