AWK: Use of NR Builtin: How to print record number using NR ?
In this article, we will look at AWK NR Bultin to print the record number.

What is NR bultin ?
In AWK, NR refers to “Number of Record” and prints the number of record which is currently being read by AWK.
In AWK, NR refers to “Number of Record” and prints the number of record which is currently being read by AWK.
Lets see few examples to understand the NR function.
Example 1: Print /etc/passwd file with numbers in front.
1. root—-
2. gdm—
3.—, etc
Lets see the above example on bash shell.
[root@nglinux ~]# cat /etc/passwd | awk '{print NR"."$0}' 1.root:x:0:0:root:/root:/bin/bash 2.bin:x:1:1:bin:/bin:/sbin/nologin 3.daemon:x:2:2:daemon:/sbin:/sbin/nologin 4.adm:x:3:4:adm:/var/adm:/sbin/nologin 5.lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 6.sync:x:5:0:sync:/sbin:/bin/sync 7.shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 8.halt:x:7:0:halt:/sbin:/sbin/halt 9.mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10.uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin 11.operator:x:11:0:operator:/root:/sbin/nologin 12.games:x:12:100:games:/usr/games:/sbin/nologin 13.gopher:x:13:30:gopher:/var/gopher:/sbin/nologin 14.ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 15.nobody:x:99:99:Nobody:/:/sbin/nologin 16.dbus:x:81:81:System message bus:/:/sbin/nologin 17.usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin 18.rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin 19.avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin 20.vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin 21.pulse:x:498:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin 22.haldaemon:x:68:68:HAL daemon:/:/sbin/nologin 23.ntp:x:38:38::/etc/ntp:/sbin/nologin 24.apache:x:48:48:Apache:/var/www:/sbin/nologin 25.saslauth:x:497:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin 26.postfix:x:89:89::/var/spool/postfix:/sbin/nologin 27.abrt:x:173:173::/etc/abrt:/sbin/nologin 28.gdm:x:42:42::/var/lib/gdm:/sbin/nologin 29.sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 30.tcpdump:x:72:72::/:/sbin/nologin 31.mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash 32.hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin 33.nglinux:x:500:500:NGE Linux User:/home/nglinux:/bin/bash 34.ricci:x:140:140:ricci daemon user:/var/lib/ricci:/sbin/nologin 35.rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin 36.rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin 37.nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin 38.luci:x:141:141:luci high availability management application:/var/lib/luci:/sbin/nologin 39.saket:x:501:501::/home/saket:/bin/bash [root@nglinux ~]#
Example 2: To print number of fields in /etc/passwd file using awk NR field.
### Usually, we use wc command. [root@nglinux ~]# cat /etc/passwd | awk '{print NR}' | tail -1 39 ### Using AWK [root@nglinux ~]# cat passwd_backup | awk '{print NR}' | tail -1 39 [root@nglinux ~]#