国外采购网站有哪些,网页视频怎么下载到ios,小型企业网络拓扑图,做网站去哪里做NR表示从awk开始执行后#xff0c;按照记录分隔符读取的数据次数#xff0c;默认的记录分隔符为换行符#xff0c;因此默认的就是读取的数据行数#xff0c;NR可以理解为Number of Record的缩写。在awk处理多个输入文件的时候#xff0c;在处理完第一个文件后#xff0c;…NR表示从awk开始执行后按照记录分隔符读取的数据次数默认的记录分隔符为换行符因此默认的就是读取的数据行数NR可以理解为Number of Record的缩写。在awk处理多个输入文件的时候在处理完第一个文件后NR并不会从1开始而是继续累加因此就出现了FNR每当处理一个新文件的时候FNR就从1开始计数FNR可以理解为File Number of Record。NF表示目前的记录被分割的字段的数目NF可以理解为Number of Field。下面以示例程序来进行说明首先准备两个输入文件class1和class2记录了两个班级的成绩信息内容分别如下所示CodingAntsubuntu:~/awk$ cat class1zhaoyun 85 87guanyu 87 88liubei 90 86CodingAntsubuntu:~/awk$ cat class2caocao 92 87 90guojia 99 96 92现在要查看两个班级的所有成绩信息并在每条信息前加上行号则可以使用下面的awk指令CodingAntsubuntu:~/awk$ awk {print NR,$0} class1 class21 zhaoyun 85 872 guanyu 87 883 liubei 90 864 caocao 92 87 905 guojia 99 96 92这里的行号就是通过NR来实现的awk每读取一条记录NR的值便加一。如果要求每个班级的行号从头开始变化则需要使用FNR来实现如下CodingAntsubuntu:~/awk$ awk {print FNR,$0} class1 class21 zhaoyun 85 872 guanyu 87 883 liubei 90 861 caocao 92 87 902 guojia 99 96 92下面的示例结合awk内建变量FILENAME显示出来的两个班级的成绩信息可以进行更好的区分;CodingAntsubuntu:~/awk$ awk {print FILENAME,NRNR,FNRFNR,$NF$NF} class1 class2class1 NR1 FNR1 $387class1 NR2 FNR2 $388class1 NR3 FNR3 $386class2 NR4 FNR1 $490class2 NR5 FNR2 $492除了NR和FNR外上面的示例中还演示了NF的使用class1中每行有3个字段而class2中有4个字段通过$NF就可以很方便的获取最后一个字段了。