unix-显示文件的第二行

时间:2012-12-12 04:37:36

标签: unix

此命令显示文件的第二行:

cat myfile | head -2 | tail -1

我的文件包含以下数据:

hello
mark
this is the head line
this is the first line 
this is the second line 
this is the last line

上面的命令将数据打印为:mark

但是我无法理解这一点因为,头-2用于打印前两行,尾-1打印最后一行但是如何打印第二行!! ???

3 个答案:

答案 0 :(得分:14)

您还可以使用“sed”或“awk”打印特定行:

实施例

sed -n '2p' myfile

PS: 关于“我的'head | tail'”命令有什么问题 - shelltel是正确的。

答案 1 :(得分:13)

tail显示头输出的最后一行,head输出的最后一行是文件的第二行。

头部输出(输入到尾部):

hello
mark

尾巴输出:

mark

答案 2 :(得分:2)

如果将操作分解为单独的命令,那么它将以其工作方式运行的原因将变得明显。

head -2创建一个两行文件。

linux> head -2 /tmp/x > /tmp/xx
linux> cat /tmp/xx  
hello
mark

tail -1打印出文件中的最后一行。

linux> tail -1 /tmp/xx
mark