NR和FNR的探索

先是转载的部分, 给出大致的解释:

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

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

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

NR==FNR:用于在读取两个或两个以上的文件时,判断是不是在读取第一个文件。
--------------------- 
作者:imzoer 
来源:CSDN 
原文:https://blog.csdn.net/imzoer/article/details/8734474 
 

以下是自己实验的部分:

[root@nfjd-model-240 common]$ cat test1
a    aaaaaaaaa
b    bbbbbbbbb
c    ccccccccc
d    ddddddddd
e    eeeeeeeee
f    fffffffff
g    ggggggggg



[root@nfjd-model-240 common]$ cat test1
f    fffffffff
g    ggggggggg
h    hhhhhhhhh
j    jjjjjjjjj


[root@nfjd-model-240 common]$ awk -F '\t' 'NR==FNR{a[$1$2]==1}NR>FNR{if(!($1$2 in a))print $0}' test1 test2
h    hhhhhhhhh
j    jjjjjjjjj

以上第三部分就打印出了test2不在test1中的内容。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值