awk 变量

NR :行号

NF:列数

LM-SHC-16507744:Desktop yanwxu$ cat testd
123#ruby#3#abc
456#rechel#25#def
789#wang#30#ghi
LM-SHC-16507744:Desktop yanwxu$ awk -F# '{print NR,NF}' testd
1 4
2 4

$0:整行

LM-SHC-16507744:Desktop yanwxu$ awk -F# '{print NR,$0}' testd
1 123#ruby#3#abc
2 456#rechel#25#def
3 789#wang#30#ghi

FNR:显示多个文件的行

 

RS:输入行分隔符

LM-SHC-16507744:Desktop yanwxu$ cat testd
123#ruby#3#abc
456#rechel#25#def
789#wang#30#ghi
LM-SHC-16507744:Desktop yanwxu$ awk -v RS="#" '{print FNR,$0}' testd
1 123
2 ruby
3 3
4 abc
456
5 rechel
6 25
7 def
789
8 wang
9 30
10 ghi

ORS:回车换行符

LM-SHC-16507744:Desktop yanwxu$ awk -v ORS="+++" '{print NR,$0}' test
1 123 ruby 3 abc+++2 456 rechel 25 def+++3 789 wang 30 ghi+++
LM-SHC-16507744:Desktop yanwxu$ cat test
123 ruby 3 abc
456 rechel 25 def
789 wang 30 ghi
LM-SHC-16507744:Desktop yanwxu$ awk -v RS=" " -v ORS="+++" '{print NR,$0}' test
1 123+++2 ruby+++3 3+++4 abc
456+++5 rechel+++6 25+++7 def
789+++8 wang+++9 30+++10 ghi

FILENAME:显示文件名

LM-SHC-16507744:Desktop yanwxu$ awk '{print FILENAME,FNR,$0}' test testd
test 1 123 ruby 3 abc
test 2 456 rechel 25 def
test 3 789 wang 30 ghi
testd 1 123#ruby#3#abc
testd 2 456#rechel#25#def
testd 3 789#wang#30#ghi

ARGV:参数调用的数组名

awk 'BEGIN{print "aaa",ARGV[1],ARGV[2]}' test testd
aaa test testd

ARGC:数组长度

LM-SHC-16507744:Desktop yanwxu$ awk 'BEGIN{print "aaa",ARGV[1],ARGV[2],ARGC}' test testd
aaa test testd 3

这个数组包括:awk,test,testd

自定义变量

LM-SHC-16507744:Desktop yanwxu$ awk -v myVar="testVar" 'BEGIN{print myVar}'
testVar

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值