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

发布于 2024-11-09 07:53:36 字数 38 浏览 2 评论 0原文

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

How do I read the first line of a file using cat?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

断桥再见 2024-11-16 07:53:36

您不需要cat

head -1 file

会工作得很好。

You don't need cat.

head -1 file

will work fine.

樱花细雨 2024-11-16 07:53:36

如果不这样做,请使用 head 代替。

head -n 1 file.txt

You don't, use head instead.

head -n 1 file.txt
与他有关 2024-11-16 07:53:36

有许多不同的方法:

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

There are many different ways:

sed -n 1p file
head -n 1 file
awk 'NR==1' file
听,心雨的声音 2024-11-16 07:53:36

您可以使用cat file.txt | head -1,但直接使用 head 可能会更好,如 head -1 file.txt 中所示。

You could use cat file.txt | head -1, but it would probably be better to use head directly, as in head -1 file.txt.

醉南桥 2024-11-16 07:53:36

这对于 cat 来说可能是不可能的。你有必须使用cat的理由吗?

如果您只需要使用 bash 命令来执行此操作,那么这应该适合您:

head -n 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
随波逐流 2024-11-16 07:53:36

单独使用 cat 可能是不可能的,但如果您不想使用 head ,则可以这样做:

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

cat alone may not be possible, but if you don't want to use head this works:

 cat <file> | awk 'NR == 1'
还不是爱你 2024-11-16 07:53:36

我很惊讶这个问题已经存在这么久了,而且还没有人提供 pre-mapfile 内置方法。

IFS= read -r first_line <file

...将文件的第一行放入由 "$first_line" 扩展的变量中,就这么简单。

此外,由于 read 内置于 bash 中,并且这种用法不需要​​子 shell,因此它比涉及 headawk 等涉及子进程的方法要高效得多。

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.

缱倦旧时光 2024-11-16 07:53:36

则不需要任何外部命令

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

如果您有 bash v4+或者您确实想要 cat

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

:)

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]}

:)

云淡月浅 2024-11-16 07:53:36

使用以下命令从 CSV 文件或任何文件格式获取第一行。

head -1 FileName.csv

Use the below command to get the first row from a CSV file or any file formats.

head -1 FileName.csv
杀手六號 2024-11-16 07:53:36

这个问题有很多很好的答案。如果你想用lolcat来做的话,只需将另一个放入篮子里即可

lolcat FileName.csv | head -n 1

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
深者入戏 2024-11-16 07:53:36

在列表中添加一个更令人讨厌的替代方案:

perl -pe'$.<=1||last' file
# or 
perl -pe'$.<=1||last' < file
# or
cat file | perl -pe'$.<=1||last'

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'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文