How do I read the first line of a file using cat?

How do I read the first line of a file using cat?

11 Answers

You don't need cat.

head -1 file 

will work fine.

7

You don't, use head instead.

head -n 1 file.txt 

There are many different ways:

sed -n 1p file head -n 1 file awk 'NR==1' file 
1

You could use cat file.txt | head -1, but it would probably be better to use head directly, as in head -1 file.txt.

This may not be possible with cat. Is there a reason you have to use cat?

If you simply need to do it with a bash command, this should work for you:

head -n 1 file.txt 

cat alone may not be possible, but if you don't want to use head this works:

 cat <file> | awk 'NR == 1' 
3

I'm surprised that this question has been around as long as it has, and nobody has provided the pre-mapfile built-in approach yet.

IFS= read -r first_line <file 

...puts the first line of the file in the variable expanded by "$first_line", easy as that.

Moreover, because read is built into bash and this usage requires no subshell, it's significantly more efficient than approaches involving subprocesses such as head or awk.

3

You dont need any external command if you have bash v4+

< file.txt mapfile -n1 && echo ${MAPFILE[0]} 

or if you really want cat

cat file.txt | mapfile -n1 && echo ${MAPFILE[0]} 

:)

Use the below command to get the first row from a CSV file or any file formats.

head -1 FileName.csv 

There is plenty of good answer to this question. Just gonna drop another one into the basket if you wish to do it with lolcat

lolcat FileName.csv | head -n 1 

Adding one more obnoxious alternative to the list:

perl -pe'$.<=1||last' file # or perl -pe'$.<=1||last' < file # or cat file | perl -pe'$.<=1||last' 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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

You Might Also Like