什么是从文件尾部修剪N行的简单方法(不使用'head')?

Chr*_*rth 10 unix macos scripting command-line

假设我有一堆大于100行的文件.我想修剪前14行和后9行,只留下中间的线条.这个命令将削减前十四个:

cat myfile.txt | tail -n +15
Run Code Online (Sandbox Code Playgroud)

是否有另一个命令我可以通过管道来修剪底部9而不显式传递文件的长度?

编辑添加:我的头版本(Mac OS 10.5)不接受负数行作为参数.

小智 14

这将适用于OS X,可能比sed示例更容易理解:

< myfile.txt tail -n +15 | tail -r | tail -n +10 | tail -r
Run Code Online (Sandbox Code Playgroud)

当然,如果你能够掌握GNU的版本head,它可以做得更优雅:

< myfile.txt tail -n +15 | head -n -9
Run Code Online (Sandbox Code Playgroud)

请注意第n行的tail 开始,同时head 跳过输入的n行.