Does anyone know of a simple one liner to read the first line of a file in bash?

read -r FIRSTLINE < filename

Same result as the other answers but faster because it doesn't spawn any process, as "read" is a built-in bash command.

  • good point, +1 for you
    – drAlberT
    Sep 18 '09 at 12:21
  • This performs much better than doing 'head -n 1'. I was reading the first line of 265 files and my time went from approximately 15 seconds to less than 1 second
    – s3v1
    Nov 25 '14 at 14:32
head -1


FIRSTLINE=`head -n 1 filename`

Stores the line in a variable for later use (note the inverted apostrophes).

  • 5
    $(command) is an alternate form that avoid the use of back ticks, not even simple to be found on certain keyboards.
    – drAlberT
    Sep 18 '09 at 8:48
  • 1
    good answer, but I'm voting down because e-t172's answer is better. Read is intended for this, and it's built-in to bash, as he says.
    – Lee B
    Sep 18 '09 at 10:13
  • 2
    nah, voting down a "good answer" becouse it is not the best possible is not so polite don't you think?
    – drAlberT
    Sep 18 '09 at 13:16
  • 3
    Lee - Why not just upvote the one you like instead? Downvotes should only be given for factually incorrect information or off topic stuff.
    – MDMarra
    Sep 19 '09 at 2:53

head -n 1 should do the trick

awk 'NR == 1' /etc/passwd
  • 1
    this will scan full file, then return the first line, which is inefficient for large file. read -r is better.
    – Richard
    Mar 12 '12 at 18:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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