【一天学awk】内置变量的使用

1. ARGC、ARGV

ARGC表示变量的个数(Argument Count)

ARGV表示变量内容(Argument Variable)

awk 'BEGIN{
    for (i = 0; i < ARGC; ++i){
        printf "args[%d]=%s\n", i, ARGV[i]
    }

}' arg0, arg1, arg2, arg3, arg4

我们发现,awk是第一个参数,其他参数是从1开始的:

这里使用ARGC进行了循环,ARGV是个数组,可以遍历。

2. 格式化符号CONVFMT

awk 'BEGIN{print "FORMAT=", CONVFMT}'

3. 环境变量ENVIRON

使用ENVIRON获取环境变量,具体环境变量的值可以执行env查看

awk 'BEGIN{print ENVIRON["USER"]}'

 

4. 获取文件名称FILENAME

awk 'END{print FILENAME}' marks.txt

 

 

5. NF、NR、FNR

NF表示列数(Number Field)

NR表示行数(Number Row)

FNR与NR类似,在多个文件时,不同文件单独编号

打印列数和数据:

 

打印行号和数据:

 

6. FS、RS、OFS、ORS、OFMT

FS表示输入列分割符号(Field Split), 默认是空格

 RS表示输入换行符(Row Split),默认是\n

OFS是输出列分割符号(Field Split), 默认是空格 

ORS表示输出换行符(Row Split),默认是\n

 OFMT表示输出格式化,默认%.6g

 

7. RSTART与RLENGTH

RSTART表示第一个匹配的位置

RLENGTH表示第一个匹配的长度

8. $n获取第几列

 

9. 错误内容ERRNO

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值