当前位置: 移动技术网 > 网络运营>服务器>Linux > awk中NR和FNR的区别小结和实例演示

awk中NR和FNR的区别小结和实例演示

2017年12月12日  | 移动技术网网络运营  | 我要评论

一,nr和fnr的不同

nr:表示当前记录数
fnr:也表示当前记录数,但是fnr的作用域只在一个文件内.如果重新打开文件,fnr会从1开始.

二,实例说明

1,测试文件aaa,cccc

复制代码 代码如下:

[root@blackghost test2]# cat aaa    //测试文件aaa
1111:23434:zhang
hoadsf:asdf:ccc
[root@blackghost test2]# cat ccc    //测试文件ccc
1111:23434:zhang
hoadsf:asdf:ccc
tank:zhang:x20342
ying:zhasdf:72342
hosa:asdfa:2345sdf

2,一个文件中nr,fnr

复制代码 代码如下:

[root@blackghost test2]# awk '{print nr;print fnr;print $0;}' aaa
1     //nr
1     //fnr
1111:23434:zhang
2
2
hoadsf:asdf:ccc

上例中,我们可以看出nr和fnr是一样的

3,多个文件中nr,fnr

复制代码 代码如下:

[root@blackghost test2]# awk '{print nr;print fnr;print $0;}' aaa ccc
1
1
1111:23434:zhang
2      //nr
2      //fnr
hoadsf:asdf:ccc
3      //nr
1      //fnr  下面的数据是来自ccc,所以nfr重置为1
1111:23434:zhang
4
2
hoadsf:asdf:ccc
5
3
tank:zhang:x20342
6
4
ying:zhasdf:72342
7
5
hosa:asdfa:2345sdf

看到不同了吧,多文件操作时,新打开文件时fnr会重新从1开始

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网