如何使用cat
读取文件的第一行?
答案 0 :(得分:295)
您不需要cat
。 head -1 file
可以正常使用。
答案 1 :(得分:63)
你没有,而是使用head
。
head -n 1 file.txt
答案 2 :(得分:38)
有许多不同的方式:
sed -n 1p file
head -n 1 file
awk 'NR==1' file
答案 3 :(得分:17)
您可以使用cat file.txt | head -1
,但最好直接使用head,就像在head -1 file.txt
中一样。
答案 4 :(得分:15)
cat
可能无法做到这一点。您是否有必要使用cat
?
如果您只是需要使用bash命令,这应该适合您:
head -n 1 file.txt
答案 5 :(得分:9)
cat
可能无法实现,但如果您不想使用head
则可行:
cat <file> | awk 'NR == 1'
答案 6 :(得分:5)
我很惊讶这个问题已经存在,并且没有人提供预映射文件内置方法。
IFS= read -r first_line <file
...将文件的第一行放在由"$first_line"
扩展的变量中,就这么简单。
此外,由于read
内置于bash中并且此用法不需要子shell,因此它比涉及head
或awk
等子进程的方法更有效。
答案 7 :(得分:3)
如果你有bash v4 +
,你不需要任何外部命令< file.txt mapfile -n1 && echo ${MAPFILE[0]}
或者如果你真的想要cat
cat file.txt | mapfile -n1 && echo ${MAPFILE[0]}
:)
答案 8 :(得分:2)
使用以下命令从CSV文件获取第一行
head -1 FileName.csv
答案 9 :(得分:0)
这个问题有很多好的答案。如果您想使用lolcat
lolcat FileName.csv | head -n 1
答案 10 :(得分:0)
在列表中添加另一种令人讨厌的选择:
perl -pe'$.<=1||last' file
# or
perl -pe'$.<=1||last' < file
# or
cat file | perl -pe'$.<=1||last'