使用“的组合”;标题「;及;“尾巴”;在Unix中显示文件中间行的步骤

使用“的组合”;标题「;及;“尾巴”;在Unix中显示文件中间行的步骤,unix,tail,unix-head,Unix,Tail,Unix Head,如果我有一个包含3行文本的文件名myownfile.txt foo hello world bar < >我想用“头/和尾部 >命令,在中间显示“ hello World >。 head -2 myownfile | tail -1 应该做你想做的事试试head-2 | tail-1。这是前半部分的最后一行(tail-1)+1(head-2)。head-2显示文件的前两行 $ head -2 myownfile.txt foo hello world tail-1显示文件的最后一行:

如果我有一个包含3行文本的文件名
myownfile.txt

foo
hello world
bar
< >我想用“<代码>头/<代码>和<代码>尾部<代码> >命令,在中间显示“<代码> hello World <代码> >。

head -2 myownfile | tail -1 

应该做你想做的事

试试
head-2 | tail-1
。这是前半部分的最后一行(
tail-1
)+1(
head-2
)。

head-2
显示文件的前两行

$ head -2 myownfile.txt
foo
hello world
tail-1
显示文件的最后一行:

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

tail-2 myownfile.txt | head-1


它将显示第二行。

我在这里参加聚会有点晚了,但更灵活的方法是使用awk,而不是使用head和tail

您的命令如下所示:

awk 'NR==2' myfile.txt
你好,世界


在过去的一些例子中,有人用
sed
为一些文件处理问题提供了大胆的解决方案。我从未真正理解过他们是如何工作的

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

阅读给了我所需要的一切信息。因此,我想与其他可能遇到类似问题但不知道
sed
真正威力的人分享这一点:

sed-n“2 p”myownfile.txt

-n
选项禁用所有隐式打印,
2
只处理第二行,
p
将特定行打印到stdout。

谢谢,它确实有效!你能解释一下head说-2是从第2行开始的部分吗?tail-1也从底部的第2行开始?
head-2
获取文件的前两行。这个输出被发送到<代码>尾部1 /代码>,它得到了管道输出的最后一行(这可能是文件中间的某个部分)。谢谢你的解释,它帮助了我,如果文件有超过3行的话?