首页 > 解决方案 > 使用 head 和 tail 命令显示选定的行

问题描述

如何使用带有管道的“head”和“tail”命令仅显示我选择的文件“imaginaryfile”(有 10 行)中的第 2 行和第 3 行?

到目前为止我已经尝试过:

>$ head -n  3 imaginaryfile | tail -n 2 > > (head -n 1) > > (tail -n 1)

第 3 行的输出来了,但我没有得到第 2 行的输出。我能做些什么来纠正这个问题并得到第 2 行和第 3 行的输出?

标签: bashunixcommand-line

解决方案


head -3 file | tail -n +2

head将打印前 3 行。此输出将作为命令的输入,该tail命令将从第二行开始打印到末尾。

man tail

-n, --lines=[+]NUM 输出最后 NUM 行,而不是最后 10 行;或使用 -n +NUM 从第 NUM 行开始输出


推荐阅读