使用“的组合”;标题「;及;“尾巴”;在Unix中显示文件中间行的步骤
如果我有一个包含3行文本的文件名使用“的组合”;标题「;及;“尾巴”;在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显示文件的最后一行:
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行的话?