How do i read the first line of a file using cat
?
问题:
回答1:
You don't need cat
. head -1 file
will work fine.
回答2:
You don't, use head
instead.
head -n 1 file.txt
回答3:
There are many different ways:
sed -n 1p file
head -n 1 file
awk 'NR==1' file
回答4:
You could use cat file.txt | head -1
, but it would probably be better to use head directly, as in head -1 file.txt
.
回答5:
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
回答6:
cat
alone may not be possible, but if you don't want to use head
this works:
cat <file> | awk 'NR == 1'
回答7:
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
.
回答8:
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]}
:)
回答9:
use the below command to get the first row from a CSVfile
head -1 FileName.csv