我如何使用猫读第一行
我如何阅读使用cat
的文件的第一行?
你不需要cat
。 head -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,它比涉及诸如head
或awk
subprocess的方法效率要高得多。
如果你有bash v4 +,你不需要任何外部命令
< file.txt mapfile -n1 && echo ${MAPFILE[0]}
或者如果你真的想要cat
cat file.txt | mapfile -n1 && echo ${MAPFILE[0]}
🙂