• 本页内容

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