Interview Scripting (Bash, Groovy)

What is the difference between NR and NF in awk? [Advanced]

Answer

NR is the current input record number, usually the line number across all files. NF is the number of fields in the current record. NR tells where I am; NF tells how many fields the current line has.

Technical explanation

Use NR for skipping headers, printing line numbers, or selecting line ranges.

Use NF for checking column counts or accessing the last field with $NF.

When processing multiple files, FNR is the record number within the current file, while NR is cumulative.

Hands-on example

awk 'NR == 1 {print "header:", $0} NR > 1 {print NR, NF, $NF}' data.txt

# Skip CSV header and print last field.

awk -F, 'NR > 1 {print $NF}' data.csv

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More Scripting (Bash, Groovy) interview questions

← All Scripting (Bash, Groovy) questions