使用“head”和“tail”的组合在Unix中显示文件的中间行

时间:2011-11-01 19:28:02

标签: unix tail unix-head

如果我的文件名myownfile.txt包含3行文字。

foo
hello world
bar

我想通过仅使用hello worldhead命令在中间显示tail的行。

6 个答案:

答案 0 :(得分:23)

head -2 myownfile | tail -1 

应该做你想做的事情

答案 1 :(得分:4)

head -2显示文件的前两行

$ head -2 myownfile.txt
foo
hello world

tail -1显示文件的最后一行:

$ head -2 myownfile.txt | tail -1
hello world

答案 2 :(得分:3)

我在这里参加派对有点晚了,但更灵活的做法是使用awk而不是使用头尾。

您的命令如下所示:

awk 'NR==2' myfile.txt
  

你好世界

答案 3 :(得分:1)

试试head -2 | tail -1。这是上半场的最后一行(tail -1)+一(head -2)。

答案 4 :(得分:1)

tail -2 myownfile.txt | head -1

它将显示第二行。

答案 5 :(得分:0)

过去有一些实例,有人为sed的某些文件处理问题提供了一个大胆的解决方案。我从不真正了解它们的工作原理。

今天,我不得不仅使用基本工具对大型文件进行一些行编辑,并遇到了这个问题。通过使用tailhead的组合感到不满意,我决定找出sed的真正威力。

阅读https://www.grymoire.com/Unix/Sed.html给了我所有我需要的信息。因此,我想与其他可能偶然发现类似问题并且不知道sed的真正力量的人分享一下:

sed -n "2 p" myownfile.txt

-n选项禁用所有隐式打印,2仅寻址第二行,p将该特定行打印到标准输出。