This question already has an answer here:

How to delete everything in a file after 5th line using awk?

I can do it by sed, but these days I am moving from sed to awk.

marked as duplicate by Jeff Schaller, Rui F Ribeiro, G-Man, jordanm, jasonwryan Feb 21 '17 at 7:56

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    Have you seen awk's NR variable? – Jeff Schaller Feb 21 '17 at 3:24
  • 1
    You can't say "I'm moving to awk". That would be like saying "I'm starting to see the benefits of a hammer over a screwdriver. I think I'll be using the hammer from now on." It doesn't make sense. – Kusalananda Feb 21 '17 at 7:57
awk 'NR > 5{exit}1' yourfile

would quit "awk" as soon as the 6th line is reached. But prior to that, the default action would apply, thereby printing lines 1..5.


awk 'NR <= 5' inputfile would do it (it prints whenever NR, the record number, is less than or equal to five.

  • You misread the question; should be awk 'NR <= 5'. And you don't need to call print explicitly. – Wildcard Feb 21 '17 at 3:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.