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

link|improve this question

56% accept rate
feedback

5 Answers

up vote 15 down vote accepted
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.

link|improve this answer
good point, +1 for you – AlberT Sep 18 '09 at 12:21
feedback
head -1

simply

link|improve this answer
feedback
FIRSTLINE=`head -n 1 filename`

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

link|improve this answer
5  
$(command) is an alternate form that avoid the use of back ticks, not even simple to be found on certain keyboards. – AlberT 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? – AlberT Sep 18 '09 at 13:16
2  
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
feedback
awk 'NR == 1' /etc/passwd
link|improve this answer
this will scan full file, then return the first line, which is inefficient for large file. read -r is better. – Richard Mar 12 at 18:24
feedback

head -n 1 should do the trick

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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