59. NR – 记录数/编号
NR
非常有帮助。 当在循环内部使用时,这给出了行号。当在 END
块中使用时,它给出文件中的记录总数。
尽管
NR
表示 “记录数”,但将其称为 “记录编号” 可能更合适,因为它实际上给出了当前记录的行号。
以下示例显示了
NR
在 body
块和 END
块中的工作原理:
$ awk 'BEGIN {FS=","} \
{print "Emp Id of record number",NR,"is",$1;} \
END {print "Total number of records:",NR}' employee.txt
Emp Id of record number 1 is 101
Emp Id of record number 2 is 102
Emp Id of record number 3 is 103
Emp Id of record number 4 is 104
Emp Id of record number 5 is 105
Total number of records: 5