awk中NR和FNR的区别小结和实例演示_linuxshell教程-查字典教程网
awk中NR和FNR的区别小结和实例演示
awk中NR和FNR的区别小结和实例演示
发布时间:2016-12-28 来源:查字典编辑
摘要:一,NR和FNR的不同NR:表示当前记录数FNR:也表示当前记录数,但是FNR的作用域只在一个文件内.如果重新打开文件,FNR会从1开始.二...

一,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开始

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新linuxshell学习
    热门linuxshell学习
    脚本专栏子分类