首页 > 解决方案 > 使用 Linux 命令 head 和 tail

问题描述

head 将输出文件的前 n 行,tails 将输出文件的最后 n 行。

假设您要输出文件的第 4 行,下面的命令将执行此操作,这对我来说很有意义,因为前 4 行通过管道传送到尾部,然后尾部将输出最后 1 行,因此第 4 行将是输出。

$>head -n 4 file.txt | tail -n 1

但是,下面的这个命令会产生相同的结果,但我无法理解为什么它会产生相同的结果。+4 部分有什么作用?

$>head -n 4 file.txt | tail -n +4

标签: linuxshellunixsh

解决方案


手册页

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

所以tail -n +4从输入的第四行开始打印,在这种情况下是文件的前四行,因此只打印第四行。


推荐阅读