AWK中,NR和FNR的区别

转载 2013年12月05日 17:48:29

转载自:http://blog.csdn.net/imzoer/article/details/8734474


awk可以使用自身变量NR和FNR来处理多个文件。

NR:表示awk开始执行程序后所读取的数据行数。

FNR:awk当前读取的记录数,其变量值小于等于NR(比如当读取第二个文件时,FNR是从0开始重新计数,而NR不会)。

NR==FNR:用于在读取两个或两个以上的文件时,判断是不是在读取第一个文件。

awk处理多个文件的基本语法是:
awk -F分隔符 'BEGIN { 初始化 } { 循环执行部分 } END { 结束处理 }' file_list1 file_list2

其中BEGIN和END可以省略,-F也可以使用默认,循环执行部分,是按行对文件进行处理的。

-------------------------------------------------

先看一下NR和FNR的使用例子。

root@ubuntu:/home/zoer# cat a
a aaaaa
b bbbbb
c ccccc
d ddddd
root@ubuntu:/home/zoer# cat b
e eeeee
f fffff
g ggggg

root@ubuntu:/home/zoer# awk '{print NR,$0}' a b
1 a aaaaa
2 b bbbbb
3 c ccccc
4 d ddddd
5 e eeeee
6 f fffff
7 g ggggg

对于NR,读取不同文件,NR是一直++的。

-------------------------------------------------

root@ubuntu:/home/zoer# awk '{print FNR,$0}' a b
1 a aaaaa
2 b bbbbb
3 c ccccc
4 d ddddd
1 e eeeee
2 f fffff
3 g ggggg

但是对于FNR,读取不同文件,开始下一个文件的时候FNR又从1开始了。



相关文章推荐

awk的NR和FNR的区别

原文链接: lihttp://www.linuxidc.com/Linux/2012-05/61174.htm NR,表示awk开始执行程序后所读取的数据行数. FNR,与NR功用类似,不同的...

Linux中的awk命令中的NR何FNR的区别

awk可以使用自身变量NR和FNR来处理多个文件。 NR:表示awk开始执行程序后所读取的数据行数。 FNR:awk当前读取的记录数,其变量值小于等于NR(比如当读取第二个文件时,FNR是从0开始...

awk的NR和FNR区别

NR,表示awk开始执行程序后所读取的数据行数. FNR,与NR功用类似,不同的是awk每打开一个新文件,FNR便从0重新累计. 下面看两个例子: 1,对于单个文件...

利用awk自身变量NR和FNR来处理多个文件

转自:http://521cto.blog.51cto.com/950229/945683 这里不再介绍awk的基本用法,如果连基本用法都不知道的同学先提前学习下基本用法,再看下面的介绍,本文简单介...

awk 内置变量FS, OFS, RS, ORS, NR, NF

Thisarticle is part of the on-goingAwk Tutorial Examplesseries. Awk has several powerful built-in ...
  • hittata
  • hittata
  • 2012年05月18日 15:31
  • 3620

grep awk sed区别(转)

最近花了2天的时间把《UNIX Shell 实例精解》看完了,其中就有关于grep与awk的讲解,但是看完之后有很多的疑惑,grep和awk用起来觉得很相似。现在把我从网上看到的sed、grep和aw...

awk中RS,ORS,FS,OFS区别与联系

帮助理解awk中RS,ORS,FS,OFS区别与联系,如二,FS与OFS中第四个例子,记录分割符RS被设置成了“444”,列分隔符"FS"默认为空格,故222/n333被认为是一列...
  • mxslgyb
  • mxslgyb
  • 2011年01月07日 08:22
  • 263

学习awk中RS,ORS,FS,OFS区别与联系

AWK,RS,ORS,FS,OFS

linux awk 中 RS,ORS,FS,OFS 区别与联系

今天在学习时偶尔搜索到了这篇文章,觉得不错,转摘一下:http://blog.51yip.com/shell/1151.html 总结 RS,ORS,FS,OFS的区别和联系。 一,RS与...
  • jesseen
  • jesseen
  • 2012年09月18日 18:29
  • 4467
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AWK中,NR和FNR的区别
举报原因:
原因补充:

(最多只允许输入30个字)