Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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

share|improve this question

5 Answers 5

up vote 19 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.

share|improve this answer
    
good point, +1 for you –  AlberT 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 –  Sebastian 2 days ago
head -1

simply

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

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

share|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
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

share|improve this answer
awk 'NR == 1' /etc/passwd
share|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 '12 at 18:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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