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.
7You 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 1You 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' 3I'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.
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'