从CLI打印文件的最后一行

问题描述 投票:44回答:5

如何仅打印文件的最后一行?

linux shell awk command-line-interface
5个回答
81
投票
$ cat file | awk 'END{print}'

最初由Ventero回答


23
投票

使用正确的工具进行作业。由于您要获取文件的最后一行,因此tail是适合该工作的工具,尤其是在文件较大的情况下。在这种情况下,Tail的文件处理算法效率更高。

tail -n 1 file

如果您真的想使用awk,

awk 'END{print}' file

不推荐使用[tail -1 file]


13
投票

是否必须为此使用awk?为什么不只使用tail -n 1 myFile


5
投票

找出文件的最后一行:

  1. 使用sed(流编辑器):sed -n '$p' fileName

  2. 使用尾巴:tail -1 fileName

  3. 使用awk:awk 'END { print }' fileName


5
投票

您也可以使用sed实现。但是,我个人建议使用tailawk

无论如何,如果您想通过sed进行操作,请使用以下两种方法:

方法1:

sed '$!d' filename

方法2:

sed -n '$p' filename

在这里,文件名是具有要分析的数据的文件的名称。

© www.soinside.com 2019 - 2024. All rights reserved.