如何使用 Bash 读取文件中的倒数第二行?

新手上路,请多包涵

我有一个文件,其中最后三行如下。我想检索倒数第二行,即 100.000;8438; 06:46:12

 .
.
.
99.900; 8423;   06:44:41
100.000;8438;   06:46:12
Number of patterns: 8438

我不知道行号。如何使用 shell 脚本检索它?在此先感谢您的帮助。

原文由 World 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.6k
2 个回答

尝试这个:

 tail -2 yourfile | head -1

原文由 MattH 发布,翻译遵循 CC BY-SA 3.0 许可协议

https://stackoverflow.com/a/7671772/5287901 启发的简短 sed 单行

sed -n 'x;$p'

解释:

  • -n 安静模式:不自动打印图案空间
  • x :交换模式空间和保持空间(保持空间现在存储当前行,模式空间存储上一行,如果有)
  • $ :在最后一行, p :打印模式空间(前一行,在这种情况下是倒数第二行)。

原文由 paranoidduck 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题