我如何使用猫读第一行

我如何阅读使用cat的文件的第一行?

你不需要cathead -1 file将正常工作。

你不要用head代替

 head -n 1 file.txt 

有许多不同的方法:

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

你可以使用cat file.txt | head -1 cat file.txt | head -1 ,但它可能会更好地直接使用头,如head -1 file.txt

这可能不可能与cat 。 有没有理由你必须使用cat

如果你只是需要用bash命令来完成,这应该适用于你:

 head -n 1 file.txt 

cat本身可能是不可能的,但如果你不想用这个工作head

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

我很惊讶这个问题已经存在了,而且没有人提供过预映射文件的内置方法。

 IFS= read -r first_line <file 

…将文件的第一行放在由"$first_line"扩展的variables中,就这么简单。

而且,因为read是build立在bash中的,所以这个用法不需要​​子shell,它比涉及诸如headawksubprocess的方法效率要高得多。

如果你有bash v4 +,你不需要任何外部命令

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

或者如果你真的想要cat

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

🙂