如果我的文件名myownfile.txt
包含3行文字。
foo
hello world
bar
我想通过仅使用hello world
和head
命令在中间显示tail
的行。
答案 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
的某些文件处理问题提供了一个大胆的解决方案。我从不真正了解它们的工作原理。
今天,我不得不仅使用基本工具对大型文件进行一些行编辑,并遇到了这个问题。通过使用tail
和head
的组合感到不满意,我决定找出sed
的真正威力。
阅读https://www.grymoire.com/Unix/Sed.html给了我所有我需要的信息。因此,我想与其他可能偶然发现类似问题并且不知道sed
的真正力量的人分享一下:
sed -n "2 p" myownfile.txt
-n
选项禁用所有隐式打印,2
仅寻址第二行,p
将该特定行打印到标准输出。